ivsrealtime *********** Client ====== class ivsrealtime.Client A low-level client representing Amazon Interactive Video Service RealTime (ivsrealtime) The Amazon Interactive Video Service (IVS) real-time API is REST compatible, using a standard HTTP API and an AWS EventBridge event stream for responses. JSON is used for both requests and responses, including errors. **Key Concepts** * **Stage** — A virtual space where participants can exchange video in real time. * **Participant token** — A token that authenticates a participant when they join a stage. * **Participant object** — Represents participants (people) in the stage and contains information about them. When a token is created, it includes a participant ID; when a participant uses that token to join a stage, the participant is associated with that participant ID. There is a 1:1 mapping between participant tokens and participants. For server-side composition: * **Composition process** — Composites participants of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels). Composition operations support this process. * **Composition** — Controls the look of the outputs, including how participants are positioned in the video. For participant replication: * **Source stage** — The stage where the participant originally joined, which is used as the source for replication. * **Destination stage** — The stage to which the participant is replicated. * **Replicated participant** — A participant in a stage that is replicated to one or more destination stages. * **Replica participant** — A participant in a destination stage that is replicated from another stage (the source stage). For more information about your IVS live stream, also see Getting Started with Amazon IVS Real-Time Streaming. **Tagging** A *tag* is a metadata label that you assign to an AWS resource. A tag comprises a *key* and a *value*, both set by you. For example, you might set a tag as "topic:nature" to label a particular video category. See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS stages has no service-specific constraints beyond what is documented there. Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags). The Amazon IVS real-time API has these tag-related operations: TagResource, UntagResource, and ListTagsForResource. The following resource supports tagging: Stage. At most 50 tags can be applied to a resource. import boto3 client = boto3.client('ivs-realtime') These are the available methods: * can_paginate * close * create_encoder_configuration * create_ingest_configuration * create_participant_token * create_stage * create_storage_configuration * delete_encoder_configuration * delete_ingest_configuration * delete_public_key * delete_stage * delete_storage_configuration * disconnect_participant * get_composition * get_encoder_configuration * get_ingest_configuration * get_paginator * get_participant * get_public_key * get_stage * get_stage_session * get_storage_configuration * get_waiter * import_public_key * list_compositions * list_encoder_configurations * list_ingest_configurations * list_participant_events * list_participant_replicas * list_participants * list_public_keys * list_stage_sessions * list_stages * list_storage_configurations * list_tags_for_resource * start_composition * start_participant_replication * stop_composition * stop_participant_replication * tag_resource * untag_resource * update_ingest_configuration * update_stage Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * ListIngestConfigurations * ListParticipantReplicas * ListPublicKeys ivsrealtime / Paginator / ListParticipantReplicas ListParticipantReplicas *********************** class ivsrealtime.Paginator.ListParticipantReplicas paginator = client.get_paginator('list_participant_replicas') paginate(**kwargs) Creates an iterator that will paginate through responses from "ivsrealtime.Client.list_participant_replicas()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( sourceStageArn='string', participantId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **sourceStageArn** (*string*) -- **[REQUIRED]** ARN of the stage where the participant is publishing. * **participantId** (*string*) -- **[REQUIRED]** Participant ID of the publisher that has been replicated. This is assigned by IVS and returned by CreateParticipantToken or the "jti" (JWT ID) used to create a self signed token. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'replicas': [ { 'sourceStageArn': 'string', 'participantId': 'string', 'sourceSessionId': 'string', 'destinationStageArn': 'string', 'destinationSessionId': 'string', 'replicationState': 'ACTIVE'|'STOPPED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **replicas** *(list) --* List of all participant replicas. * *(dict) --* Information about the replicated destination stage for a participant. * **sourceStageArn** *(string) --* ARN of the stage from which this participant is replicated. * **participantId** *(string) --* Participant ID of the publisher that will be replicated. This is assigned by IVS and returned by CreateParticipantToken or the "jti" (JWT ID) used to create a self signed token. * **sourceSessionId** *(string) --* ID of the session within the source stage. * **destinationStageArn** *(string) --* ARN of the stage where the participant is replicated. * **destinationSessionId** *(string) --* ID of the session within the destination stage. * **replicationState** *(string) --* Replica’s current replication state. * **NextToken** *(string) --* A token to resume pagination. ivsrealtime / Paginator / ListPublicKeys ListPublicKeys ************** class ivsrealtime.Paginator.ListPublicKeys paginator = client.get_paginator('list_public_keys') paginate(**kwargs) Creates an iterator that will paginate through responses from "ivsrealtime.Client.list_public_keys()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'publicKeys': [ { 'arn': 'string', 'name': 'string', 'tags': { 'string': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **publicKeys** *(list) --* List of the matching public keys (summary information only). * *(dict) --* Summary information about a public key. * **arn** *(string) --* Public key ARN. * **name** *(string) --* Public key name. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **NextToken** *(string) --* A token to resume pagination. ivsrealtime / Paginator / ListIngestConfigurations ListIngestConfigurations ************************ class ivsrealtime.Paginator.ListIngestConfigurations paginator = client.get_paginator('list_ingest_configurations') paginate(**kwargs) Creates an iterator that will paginate through responses from "ivsrealtime.Client.list_ingest_configurations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( filterByStageArn='string', filterByState='ACTIVE'|'INACTIVE', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **filterByStageArn** (*string*) -- Filters the response list to match the specified stage ARN. Only one filter (by stage ARN or by state) can be used at a time. * **filterByState** (*string*) -- Filters the response list to match the specified state. Only one filter (by stage ARN or by state) can be used at a time. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'ingestConfigurations': [ { 'name': 'string', 'arn': 'string', 'ingestProtocol': 'RTMP'|'RTMPS', 'stageArn': 'string', 'participantId': 'string', 'state': 'ACTIVE'|'INACTIVE', 'userId': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **ingestConfigurations** *(list) --* List of the matching ingest configurations (summary information only). * *(dict) --* Summary information about an IngestConfiguration. * **name** *(string) --* Ingest name. * **arn** *(string) --* Ingest configuration ARN. * **ingestProtocol** *(string) --* Type of ingest protocol that the user employs for broadcasting. * **stageArn** *(string) --* ARN of the stage with which the IngestConfiguration is associated. * **participantId** *(string) --* ID of the participant within the stage. * **state** *(string) --* State of the ingest configuration. It is "ACTIVE" if a publisher currently is publishing to the stage associated with the ingest configuration. * **userId** *(string) --* Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **NextToken** *(string) --* A token to resume pagination. ivsrealtime / Client / list_compositions list_compositions ***************** ivsrealtime.Client.list_compositions(**kwargs) Gets summary information about all Compositions in your account, in the AWS region where the API request is processed. See also: AWS API Documentation **Request Syntax** response = client.list_compositions( filterByStageArn='string', filterByEncoderConfigurationArn='string', nextToken='string', maxResults=123 ) Parameters: * **filterByStageArn** (*string*) -- Filters the Composition list to match the specified Stage ARN. * **filterByEncoderConfigurationArn** (*string*) -- Filters the Composition list to match the specified EncoderConfiguration attached to at least one of its output. * **nextToken** (*string*) -- The first Composition to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of results to return. Default: 100. Return type: dict Returns: **Response Syntax** { 'compositions': [ { 'arn': 'string', 'stageArn': 'string', 'destinations': [ { 'id': 'string', 'state': 'STARTING'|'ACTIVE'|'STOPPING'|'RECONNECTING'|'FAILED'|'STOPPED', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1) }, ], 'state': 'STARTING'|'ACTIVE'|'STOPPING'|'FAILED'|'STOPPED', 'tags': { 'string': 'string' }, 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1) }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **compositions** *(list) --* List of the matching Compositions (summary information only). * *(dict) --* Summary information about a Composition. * **arn** *(string) --* ARN of the Composition resource. * **stageArn** *(string) --* ARN of the attached stage. * **destinations** *(list) --* Array of Destination objects. * *(dict) --* Summary information about a Destination. * **id** *(string) --* Unique identifier for this destination, assigned by IVS. * **state** *(string) --* State of the Composition Destination. * **startTime** *(datetime) --* UTC time of the destination start. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **endTime** *(datetime) --* UTC time of the destination end. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **state** *(string) --* State of the Composition resource. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **startTime** *(datetime) --* UTC time of the Composition start. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **endTime** *(datetime) --* UTC time of the Composition end. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **nextToken** *(string) --* If there are more compositions than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / get_paginator get_paginator ************* ivsrealtime.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. ivsrealtime / Client / list_stage_sessions list_stage_sessions ******************* ivsrealtime.Client.list_stage_sessions(**kwargs) Gets all sessions for a specified stage. See also: AWS API Documentation **Request Syntax** response = client.list_stage_sessions( stageArn='string', nextToken='string', maxResults=123 ) Parameters: * **stageArn** (*string*) -- **[REQUIRED]** Stage ARN. * **nextToken** (*string*) -- The first stage session to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of results to return. Default: 50. Return type: dict Returns: **Response Syntax** { 'stageSessions': [ { 'sessionId': 'string', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1) }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **stageSessions** *(list) --* List of matching stage sessions. * *(dict) --* Summary information about a stage session. * **sessionId** *(string) --* ID of the session within the stage. * **startTime** *(datetime) --* ISO 8601 timestamp (returned as a string) when this stage session began. * **endTime** *(datetime) --* ISO 8601 timestamp (returned as a string) when the stage session ended. This is null if the stage is active. * **nextToken** *(string) --* If there are more stage sessions than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / delete_public_key delete_public_key ***************** ivsrealtime.Client.delete_public_key(**kwargs) Deletes the specified public key used to sign stage participant tokens. This invalidates future participant tokens generated using the key pair’s private key. See also: AWS API Documentation **Request Syntax** response = client.delete_public_key( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the public key to be deleted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / get_participant get_participant *************** ivsrealtime.Client.get_participant(**kwargs) Gets information about the specified participant token. See also: AWS API Documentation **Request Syntax** response = client.get_participant( stageArn='string', sessionId='string', participantId='string' ) Parameters: * **stageArn** (*string*) -- **[REQUIRED]** Stage ARN. * **sessionId** (*string*) -- **[REQUIRED]** ID of a session within the stage. * **participantId** (*string*) -- **[REQUIRED]** Unique identifier for the participant. This is assigned by IVS and returned by CreateParticipantToken. Return type: dict Returns: **Response Syntax** { 'participant': { 'participantId': 'string', 'userId': 'string', 'state': 'CONNECTED'|'DISCONNECTED', 'firstJoinTime': datetime(2015, 1, 1), 'attributes': { 'string': 'string' }, 'published': True|False, 'ispName': 'string', 'osName': 'string', 'osVersion': 'string', 'browserName': 'string', 'browserVersion': 'string', 'sdkVersion': 'string', 'recordingS3BucketName': 'string', 'recordingS3Prefix': 'string', 'recordingState': 'STARTING'|'ACTIVE'|'STOPPING'|'STOPPED'|'FAILED'|'DISABLED', 'protocol': 'UNKNOWN'|'WHIP'|'RTMP'|'RTMPS', 'replicationType': 'SOURCE'|'REPLICA'|'NONE', 'replicationState': 'ACTIVE'|'STOPPED', 'sourceStageArn': 'string', 'sourceSessionId': 'string' } } **Response Structure** * *(dict) --* * **participant** *(dict) --* The participant that is returned. * **participantId** *(string) --* Unique identifier for this participant, assigned by IVS. * **userId** *(string) --* Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information*. * **state** *(string) --* Whether the participant is connected to or disconnected from the stage. * **firstJoinTime** *(datetime) --* ISO 8601 timestamp (returned as a string) when the participant first joined the stage session. * **attributes** *(dict) --* Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information*. * *(string) --* * *(string) --* * **published** *(boolean) --* Whether the participant ever published to the stage session. * **ispName** *(string) --* The participant’s Internet Service Provider. * **osName** *(string) --* The participant’s operating system. * **osVersion** *(string) --* The participant’s operating system version. * **browserName** *(string) --* The participant’s browser. * **browserVersion** *(string) --* The participant’s browser version. * **sdkVersion** *(string) --* The participant’s SDK version. * **recordingS3BucketName** *(string) --* Name of the S3 bucket to where the participant is being recorded, if individual participant recording is enabled, or """" (empty string), if recording is not enabled. * **recordingS3Prefix** *(string) --* S3 prefix of the S3 bucket where the participant is being recorded, if individual participant recording is enabled, or """" (empty string), if recording is not enabled. If individual participant recording merge is enabled, and if a stage publisher disconnects from a stage and then reconnects, IVS tries to record to the same S3 prefix as the previous session. See Merge Fragmented Individual Participant Recordings. * **recordingState** *(string) --* The participant’s recording state. * **protocol** *(string) --* Type of ingest protocol that the participant employs for broadcasting. * **replicationType** *(string) --* Indicates if the participant has been replicated to another stage or is a replica from another stage. Default: "NONE". * **replicationState** *(string) --* The participant's replication state. * **sourceStageArn** *(string) --* Source stage ARN from which this participant is replicated, if "replicationType" is "REPLICA". * **sourceSessionId** *(string) --* ID of the session within the source stage, if "replicationType" is "REPLICA". **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / create_storage_configuration create_storage_configuration **************************** ivsrealtime.Client.create_storage_configuration(**kwargs) Creates a new storage configuration, used to enable recording to Amazon S3. When a StorageConfiguration is created, IVS will modify the S3 bucketPolicy of the provided bucket. This will ensure that IVS has sufficient permissions to write content to the provided bucket. See also: AWS API Documentation **Request Syntax** response = client.create_storage_configuration( name='string', s3={ 'bucketName': 'string' }, tags={ 'string': 'string' } ) Parameters: * **name** (*string*) -- Storage configuration name. The value does not need to be unique. * **s3** (*dict*) -- **[REQUIRED]** A complex type that contains a storage configuration for where recorded video will be stored. * **bucketName** *(string) --* **[REQUIRED]** Location (S3 bucket name) where recorded videos will be stored. Note that the StorageConfiguration and S3 bucket must be in the same region as the Composition. * **tags** (*dict*) -- Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'storageConfiguration': { 'arn': 'string', 'name': 'string', 's3': { 'bucketName': 'string' }, 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **storageConfiguration** *(dict) --* The StorageConfiguration that was created. * **arn** *(string) --* ARN of the storage configuration. * **name** *(string) --* Name of the storage configuration. * **s3** *(dict) --* An S3 destination configuration where recorded videos will be stored. * **bucketName** *(string) --* Location (S3 bucket name) where recorded videos will be stored. Note that the StorageConfiguration and S3 bucket must be in the same region as the Composition. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / can_paginate can_paginate ************ ivsrealtime.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. ivsrealtime / Client / update_stage update_stage ************ ivsrealtime.Client.update_stage(**kwargs) Updates a stage’s configuration. See also: AWS API Documentation **Request Syntax** response = client.update_stage( arn='string', name='string', autoParticipantRecordingConfiguration={ 'storageConfigurationArn': 'string', 'mediaTypes': [ 'AUDIO_VIDEO'|'AUDIO_ONLY'|'NONE', ], 'thumbnailConfiguration': { 'targetIntervalSeconds': 123, 'storage': [ 'SEQUENTIAL'|'LATEST', ], 'recordingMode': 'INTERVAL'|'DISABLED' }, 'recordingReconnectWindowSeconds': 123, 'hlsConfiguration': { 'targetSegmentDurationSeconds': 123 }, 'recordParticipantReplicas': True|False } ) Parameters: * **arn** (*string*) -- **[REQUIRED]** ARN of the stage to be updated. * **name** (*string*) -- Name of the stage to be updated. * **autoParticipantRecordingConfiguration** (*dict*) -- Configuration object for individual participant recording, to attach to the stage. Note that this cannot be updated while recording is active. * **storageConfigurationArn** *(string) --* **[REQUIRED]** ARN of the StorageConfiguration resource to use for individual participant recording. Default: """" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated. To disable individual participant recording, set this to """"; other fields in this object will get reset to their defaults when sending """". * **mediaTypes** *(list) --* Types of media to be recorded. Default: "AUDIO_VIDEO". * *(string) --* * **thumbnailConfiguration** *(dict) --* A complex type that allows you to enable/disable the recording of thumbnails for individual participant recording and modify the interval at which thumbnails are generated for the live session. * **targetIntervalSeconds** *(integer) --* The targeted thumbnail-generation interval in seconds. This is configurable only if "recordingMode" is "INTERVAL". Default: 60. * **storage** *(list) --* Indicates the format in which thumbnails are recorded. "SEQUENTIAL" records all generated thumbnails in a serial manner, to the media/thumbnails/high directory. "LATEST" saves the latest thumbnail in media/latest_thumbnail/high/thumb.jpg and overwrites it at the interval specified by "targetIntervalSeconds". You can enable both "SEQUENTIAL" and "LATEST". Default: "SEQUENTIAL". * *(string) --* * **recordingMode** *(string) --* Thumbnail recording mode. Default: "DISABLED". * **recordingReconnectWindowSeconds** *(integer) --* If a stage publisher disconnects and then reconnects within the specified interval, the multiple recordings will be considered a single recording and merged together. The default value is 0, which disables merging. * **hlsConfiguration** *(dict) --* HLS configuration object for individual participant recording. * **targetSegmentDurationSeconds** *(integer) --* Defines the target duration for recorded segments generated when recording a stage participant. Segments may have durations longer than the specified value when needed to ensure each segment begins with a keyframe. Default: 6. * **recordParticipantReplicas** *(boolean) --* Optional field to disable replica participant recording. If this is set to "false" when a participant is a replica, replica participants are not recorded. Default: "true". Return type: dict Returns: **Response Syntax** { 'stage': { 'arn': 'string', 'name': 'string', 'activeSessionId': 'string', 'tags': { 'string': 'string' }, 'autoParticipantRecordingConfiguration': { 'storageConfigurationArn': 'string', 'mediaTypes': [ 'AUDIO_VIDEO'|'AUDIO_ONLY'|'NONE', ], 'thumbnailConfiguration': { 'targetIntervalSeconds': 123, 'storage': [ 'SEQUENTIAL'|'LATEST', ], 'recordingMode': 'INTERVAL'|'DISABLED' }, 'recordingReconnectWindowSeconds': 123, 'hlsConfiguration': { 'targetSegmentDurationSeconds': 123 }, 'recordParticipantReplicas': True|False }, 'endpoints': { 'events': 'string', 'whip': 'string', 'rtmp': 'string', 'rtmps': 'string' } } } **Response Structure** * *(dict) --* * **stage** *(dict) --* The updated stage. * **arn** *(string) --* Stage ARN. * **name** *(string) --* Stage name. * **activeSessionId** *(string) --* ID of the active session within the stage. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **autoParticipantRecordingConfiguration** *(dict) --* Configuration object for individual participant recording, attached to the stage. * **storageConfigurationArn** *(string) --* ARN of the StorageConfiguration resource to use for individual participant recording. Default: """" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated. To disable individual participant recording, set this to """"; other fields in this object will get reset to their defaults when sending """". * **mediaTypes** *(list) --* Types of media to be recorded. Default: "AUDIO_VIDEO". * *(string) --* * **thumbnailConfiguration** *(dict) --* A complex type that allows you to enable/disable the recording of thumbnails for individual participant recording and modify the interval at which thumbnails are generated for the live session. * **targetIntervalSeconds** *(integer) --* The targeted thumbnail-generation interval in seconds. This is configurable only if "recordingMode" is "INTERVAL". Default: 60. * **storage** *(list) --* Indicates the format in which thumbnails are recorded. "SEQUENTIAL" records all generated thumbnails in a serial manner, to the media/thumbnails/high directory. "LATEST" saves the latest thumbnail in media/latest_thumbnail/high/thumb.jpg and overwrites it at the interval specified by "targetIntervalSeconds". You can enable both "SEQUENTIAL" and "LATEST". Default: "SEQUENTIAL". * *(string) --* * **recordingMode** *(string) --* Thumbnail recording mode. Default: "DISABLED". * **recordingReconnectWindowSeconds** *(integer) --* If a stage publisher disconnects and then reconnects within the specified interval, the multiple recordings will be considered a single recording and merged together. The default value is 0, which disables merging. * **hlsConfiguration** *(dict) --* HLS configuration object for individual participant recording. * **targetSegmentDurationSeconds** *(integer) --* Defines the target duration for recorded segments generated when recording a stage participant. Segments may have durations longer than the specified value when needed to ensure each segment begins with a keyframe. Default: 6. * **recordParticipantReplicas** *(boolean) --* Optional field to disable replica participant recording. If this is set to "false" when a participant is a replica, replica participants are not recorded. Default: "true". * **endpoints** *(dict) --* Summary information about various endpoints for a stage. * **events** *(string) --* Events endpoint. * **whip** *(string) --* The endpoint to be used for IVS real-time streaming using the WHIP protocol. * **rtmp** *(string) --* The endpoint to be used for IVS real-time streaming using the RTMP protocol. * **rtmps** *(string) --* The endpoint to be used for IVS real-time streaming using the RTMPS protocol. **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / list_participants list_participants ***************** ivsrealtime.Client.list_participants(**kwargs) Lists all participants in a specified stage session. See also: AWS API Documentation **Request Syntax** response = client.list_participants( stageArn='string', sessionId='string', filterByUserId='string', filterByPublished=True|False, filterByState='CONNECTED'|'DISCONNECTED', nextToken='string', maxResults=123, filterByRecordingState='STARTING'|'ACTIVE'|'STOPPING'|'STOPPED'|'FAILED' ) Parameters: * **stageArn** (*string*) -- **[REQUIRED]** Stage ARN. * **sessionId** (*string*) -- **[REQUIRED]** ID of the session within the stage. * **filterByUserId** (*string*) -- Filters the response list to match the specified user ID. Only one of "filterByUserId", "filterByPublished", "filterByState", or "filterByRecordingState" can be provided per request. A "userId" is a customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. * **filterByPublished** (*boolean*) -- Filters the response list to only show participants who published during the stage session. Only one of "filterByUserId", "filterByPublished", "filterByState", or "filterByRecordingState" can be provided per request. * **filterByState** (*string*) -- Filters the response list to only show participants in the specified state. Only one of "filterByUserId", "filterByPublished", "filterByState", or "filterByRecordingState" can be provided per request. * **nextToken** (*string*) -- The first participant to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of results to return. Default: 50. * **filterByRecordingState** (*string*) -- Filters the response list to only show participants with the specified recording state. Only one of "filterByUserId", "filterByPublished", "filterByState", or "filterByRecordingState" can be provided per request. Return type: dict Returns: **Response Syntax** { 'participants': [ { 'participantId': 'string', 'userId': 'string', 'state': 'CONNECTED'|'DISCONNECTED', 'firstJoinTime': datetime(2015, 1, 1), 'published': True|False, 'recordingState': 'STARTING'|'ACTIVE'|'STOPPING'|'STOPPED'|'FAILED'|'DISABLED', 'replicationType': 'SOURCE'|'REPLICA'|'NONE', 'replicationState': 'ACTIVE'|'STOPPED', 'sourceStageArn': 'string', 'sourceSessionId': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **participants** *(list) --* List of the matching participants (summary information only). * *(dict) --* Summary object describing a participant that has joined a stage. * **participantId** *(string) --* Unique identifier for this participant, assigned by IVS. * **userId** *(string) --* Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information*. * **state** *(string) --* Whether the participant is connected to or disconnected from the stage. * **firstJoinTime** *(datetime) --* ISO 8601 timestamp (returned as a string) when the participant first joined the stage session. * **published** *(boolean) --* Whether the participant ever published to the stage session. * **recordingState** *(string) --* The participant’s recording state. * **replicationType** *(string) --* Indicates if the participant has been replicated to another stage or is a replica from another stage. Default: "NONE". * **replicationState** *(string) --* The participant's replication state. * **sourceStageArn** *(string) --* ARN of the stage from which this participant is replicated. * **sourceSessionId** *(string) --* ID of the session within the source stage, if "replicationType" is "REPLICA". * **nextToken** *(string) --* If there are more participants than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / delete_encoder_configuration delete_encoder_configuration **************************** ivsrealtime.Client.delete_encoder_configuration(**kwargs) Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise, returns an error. See also: AWS API Documentation **Request Syntax** response = client.delete_encoder_configuration( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the EncoderConfiguration. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / list_ingest_configurations list_ingest_configurations ************************** ivsrealtime.Client.list_ingest_configurations(**kwargs) Lists all IngestConfigurations in your account, in the AWS region where the API request is processed. See also: AWS API Documentation **Request Syntax** response = client.list_ingest_configurations( filterByStageArn='string', filterByState='ACTIVE'|'INACTIVE', nextToken='string', maxResults=123 ) Parameters: * **filterByStageArn** (*string*) -- Filters the response list to match the specified stage ARN. Only one filter (by stage ARN or by state) can be used at a time. * **filterByState** (*string*) -- Filters the response list to match the specified state. Only one filter (by stage ARN or by state) can be used at a time. * **nextToken** (*string*) -- The first IngestConfiguration to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of results to return. Default: 50. Return type: dict Returns: **Response Syntax** { 'ingestConfigurations': [ { 'name': 'string', 'arn': 'string', 'ingestProtocol': 'RTMP'|'RTMPS', 'stageArn': 'string', 'participantId': 'string', 'state': 'ACTIVE'|'INACTIVE', 'userId': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **ingestConfigurations** *(list) --* List of the matching ingest configurations (summary information only). * *(dict) --* Summary information about an IngestConfiguration. * **name** *(string) --* Ingest name. * **arn** *(string) --* Ingest configuration ARN. * **ingestProtocol** *(string) --* Type of ingest protocol that the user employs for broadcasting. * **stageArn** *(string) --* ARN of the stage with which the IngestConfiguration is associated. * **participantId** *(string) --* ID of the participant within the stage. * **state** *(string) --* State of the ingest configuration. It is "ACTIVE" if a publisher currently is publishing to the stage associated with the ingest configuration. * **userId** *(string) --* Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **nextToken** *(string) --* If there are more IngestConfigurations than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / create_participant_token create_participant_token ************************ ivsrealtime.Client.create_participant_token(**kwargs) Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire. Tokens always are scoped to the stage for which they are created. Encryption keys are owned by Amazon IVS and never used directly by your application. See also: AWS API Documentation **Request Syntax** response = client.create_participant_token( stageArn='string', duration=123, userId='string', attributes={ 'string': 'string' }, capabilities=[ 'PUBLISH'|'SUBSCRIBE', ] ) Parameters: * **stageArn** (*string*) -- **[REQUIRED]** ARN of the stage to which this token is scoped. * **duration** (*integer*) -- Duration (in minutes), after which the token expires. Default: 720 (12 hours). * **userId** (*string*) -- Name that can be specified to help identify the token. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **attributes** (*dict*) -- Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * *(string) --* * *(string) --* * **capabilities** (*list*) -- Set of capabilities that the user is allowed to perform in the stage. Default: "PUBLISH, SUBSCRIBE". * *(string) --* Return type: dict Returns: **Response Syntax** { 'participantToken': { 'participantId': 'string', 'token': 'string', 'userId': 'string', 'attributes': { 'string': 'string' }, 'duration': 123, 'capabilities': [ 'PUBLISH'|'SUBSCRIBE', ], 'expirationTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **participantToken** *(dict) --* The participant token that was created. * **participantId** *(string) --* Unique identifier for this participant token, assigned by IVS. * **token** *(string) --* The issued client token, encrypted. * **userId** *(string) --* Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **attributes** *(dict) --* Application-provided attributes to encode into the token and attach to a stage. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * *(string) --* * *(string) --* * **duration** *(integer) --* Duration (in minutes), after which the participant token expires. Default: 720 (12 hours). * **capabilities** *(list) --* Set of capabilities that the user is allowed to perform in the stage. * *(string) --* * **expirationTime** *(datetime) --* ISO 8601 timestamp (returned as a string) for when this token expires. **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / start_participant_replication start_participant_replication ***************************** ivsrealtime.Client.start_participant_replication(**kwargs) Starts replicating a publishing participant from a source stage to a destination stage. See also: AWS API Documentation **Request Syntax** response = client.start_participant_replication( sourceStageArn='string', destinationStageArn='string', participantId='string', reconnectWindowSeconds=123, attributes={ 'string': 'string' } ) Parameters: * **sourceStageArn** (*string*) -- **[REQUIRED]** ARN of the stage where the participant is publishing. * **destinationStageArn** (*string*) -- **[REQUIRED]** ARN of the stage to which the participant will be replicated. * **participantId** (*string*) -- **[REQUIRED]** Participant ID of the publisher that will be replicated. This is assigned by IVS and returned by CreateParticipantToken or the "jti" (JWT ID) used to create a self signed token. * **reconnectWindowSeconds** (*integer*) -- If the participant disconnects and then reconnects within the specified interval, replication will continue to be "ACTIVE". Default: 0. * **attributes** (*dict*) -- Application-provided attributes to set on the replicated participant in the destination stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* These attributes are merged with any attributes set for this participant when creating the token. If there is overlap in keys, the values in these attributes are replaced. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'accessControlAllowOrigin': 'string', 'accessControlExposeHeaders': 'string', 'cacheControl': 'string', 'contentSecurityPolicy': 'string', 'strictTransportSecurity': 'string', 'xContentTypeOptions': 'string', 'xFrameOptions': 'string' } **Response Structure** * *(dict) --* * **accessControlAllowOrigin** *(string) --* * **accessControlExposeHeaders** *(string) --* * **cacheControl** *(string) --* * **contentSecurityPolicy** *(string) --* * **strictTransportSecurity** *(string) --* * **xContentTypeOptions** *(string) --* * **xFrameOptions** *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / list_participant_replicas list_participant_replicas ************************* ivsrealtime.Client.list_participant_replicas(**kwargs) Lists all the replicas for a participant from a source stage. See also: AWS API Documentation **Request Syntax** response = client.list_participant_replicas( sourceStageArn='string', participantId='string', nextToken='string', maxResults=123 ) Parameters: * **sourceStageArn** (*string*) -- **[REQUIRED]** ARN of the stage where the participant is publishing. * **participantId** (*string*) -- **[REQUIRED]** Participant ID of the publisher that has been replicated. This is assigned by IVS and returned by CreateParticipantToken or the "jti" (JWT ID) used to create a self signed token. * **nextToken** (*string*) -- The first participant to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of results to return. Default: 50. Return type: dict Returns: **Response Syntax** { 'replicas': [ { 'sourceStageArn': 'string', 'participantId': 'string', 'sourceSessionId': 'string', 'destinationStageArn': 'string', 'destinationSessionId': 'string', 'replicationState': 'ACTIVE'|'STOPPED' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **replicas** *(list) --* List of all participant replicas. * *(dict) --* Information about the replicated destination stage for a participant. * **sourceStageArn** *(string) --* ARN of the stage from which this participant is replicated. * **participantId** *(string) --* Participant ID of the publisher that will be replicated. This is assigned by IVS and returned by CreateParticipantToken or the "jti" (JWT ID) used to create a self signed token. * **sourceSessionId** *(string) --* ID of the session within the source stage. * **destinationStageArn** *(string) --* ARN of the stage where the participant is replicated. * **destinationSessionId** *(string) --* ID of the session within the destination stage. * **replicationState** *(string) --* Replica’s current replication state. * **nextToken** *(string) --* If there are more participants than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / create_encoder_configuration create_encoder_configuration **************************** ivsrealtime.Client.create_encoder_configuration(**kwargs) Creates an EncoderConfiguration object. See also: AWS API Documentation **Request Syntax** response = client.create_encoder_configuration( name='string', video={ 'width': 123, 'height': 123, 'framerate': ..., 'bitrate': 123 }, tags={ 'string': 'string' } ) Parameters: * **name** (*string*) -- Optional name to identify the resource. * **video** (*dict*) -- Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps. * **width** *(integer) --* Video-resolution width. This must be an even number. Note that the maximum value is determined by "width" times "height", such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280. * **height** *(integer) --* Video-resolution height. This must be an even number. Note that the maximum value is determined by "width" times "height", such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720. * **framerate** *(float) --* Video frame rate, in fps. Default: 30. * **bitrate** *(integer) --* Bitrate for generated output, in bps. Default: 2500000. * **tags** (*dict*) -- Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'encoderConfiguration': { 'arn': 'string', 'name': 'string', 'video': { 'width': 123, 'height': 123, 'framerate': ..., 'bitrate': 123 }, 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **encoderConfiguration** *(dict) --* The EncoderConfiguration that was created. * **arn** *(string) --* ARN of the EncoderConfiguration resource. * **name** *(string) --* Optional name to identify the resource. * **video** *(dict) --* Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps * **width** *(integer) --* Video-resolution width. This must be an even number. Note that the maximum value is determined by "width" times "height", such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280. * **height** *(integer) --* Video-resolution height. This must be an even number. Note that the maximum value is determined by "width" times "height", such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720. * **framerate** *(float) --* Video frame rate, in fps. Default: 30. * **bitrate** *(integer) --* Bitrate for generated output, in bps. Default: 2500000. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / create_ingest_configuration create_ingest_configuration *************************** ivsrealtime.Client.create_ingest_configuration(**kwargs) Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage. See also: AWS API Documentation **Request Syntax** response = client.create_ingest_configuration( name='string', stageArn='string', userId='string', attributes={ 'string': 'string' }, ingestProtocol='RTMP'|'RTMPS', insecureIngest=True|False, tags={ 'string': 'string' } ) Parameters: * **name** (*string*) -- Optional name that can be specified for the IngestConfiguration being created. * **stageArn** (*string*) -- ARN of the stage with which the IngestConfiguration is associated. * **userId** (*string*) -- Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **attributes** (*dict*) -- Application-provided attributes to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * *(string) --* * *(string) --* * **ingestProtocol** (*string*) -- **[REQUIRED]** Type of ingest protocol that the user employs to broadcast. If this is set to "RTMP", "insecureIngest" must be set to "true". * **insecureIngest** (*boolean*) -- Whether the stage allows insecure RTMP ingest. This must be set to "true", if "ingestProtocol" is set to "RTMP". Default: "false". * **tags** (*dict*) -- Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'ingestConfiguration': { 'name': 'string', 'arn': 'string', 'ingestProtocol': 'RTMP'|'RTMPS', 'streamKey': 'string', 'stageArn': 'string', 'participantId': 'string', 'state': 'ACTIVE'|'INACTIVE', 'userId': 'string', 'attributes': { 'string': 'string' }, 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **ingestConfiguration** *(dict) --* The IngestConfiguration that was created. * **name** *(string) --* Ingest name * **arn** *(string) --* Ingest configuration ARN. * **ingestProtocol** *(string) --* Type of ingest protocol that the user employs for broadcasting. * **streamKey** *(string) --* Ingest-key value for the RTMP(S) protocol. * **stageArn** *(string) --* ARN of the stage with which the IngestConfiguration is associated. * **participantId** *(string) --* ID of the participant within the stage. * **state** *(string) --* State of the ingest configuration. It is "ACTIVE" if a publisher currently is publishing to the stage associated with the ingest configuration. * **userId** *(string) --* Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **attributes** *(dict) --* Application-provided attributes to to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * *(string) --* * *(string) --* * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / get_composition get_composition *************** ivsrealtime.Client.get_composition(**kwargs) Get information about the specified Composition resource. See also: AWS API Documentation **Request Syntax** response = client.get_composition( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the Composition resource. Return type: dict Returns: **Response Syntax** { 'composition': { 'arn': 'string', 'stageArn': 'string', 'state': 'STARTING'|'ACTIVE'|'STOPPING'|'FAILED'|'STOPPED', 'layout': { 'grid': { 'featuredParticipantAttribute': 'string', 'omitStoppedVideo': True|False, 'videoAspectRatio': 'AUTO'|'VIDEO'|'SQUARE'|'PORTRAIT', 'videoFillMode': 'FILL'|'COVER'|'CONTAIN', 'gridGap': 123 }, 'pip': { 'featuredParticipantAttribute': 'string', 'omitStoppedVideo': True|False, 'videoFillMode': 'FILL'|'COVER'|'CONTAIN', 'gridGap': 123, 'pipParticipantAttribute': 'string', 'pipBehavior': 'STATIC'|'DYNAMIC', 'pipOffset': 123, 'pipPosition': 'TOP_LEFT'|'TOP_RIGHT'|'BOTTOM_LEFT'|'BOTTOM_RIGHT', 'pipWidth': 123, 'pipHeight': 123 } }, 'destinations': [ { 'id': 'string', 'state': 'STARTING'|'ACTIVE'|'STOPPING'|'RECONNECTING'|'FAILED'|'STOPPED', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'configuration': { 'name': 'string', 'channel': { 'channelArn': 'string', 'encoderConfigurationArn': 'string' }, 's3': { 'storageConfigurationArn': 'string', 'encoderConfigurationArns': [ 'string', ], 'recordingConfiguration': { 'hlsConfiguration': { 'targetSegmentDurationSeconds': 123 }, 'format': 'HLS' }, 'thumbnailConfigurations': [ { 'targetIntervalSeconds': 123, 'storage': [ 'SEQUENTIAL'|'LATEST', ] }, ] } }, 'detail': { 's3': { 'recordingPrefix': 'string' } } }, ], 'tags': { 'string': 'string' }, 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **composition** *(dict) --* The Composition that was returned. * **arn** *(string) --* ARN of the Composition resource. * **stageArn** *(string) --* ARN of the stage used as input * **state** *(string) --* State of the Composition. * **layout** *(dict) --* Layout object to configure composition parameters. * **grid** *(dict) --* Configuration related to grid layout. Default: Grid layout. * **featuredParticipantAttribute** *(string) --* This attribute name identifies the featured slot. A participant with this attribute set to ""true"" (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. Default: """" (no featured participant). * **omitStoppedVideo** *(boolean) --* Determines whether to omit participants with stopped video in the composition. Default: "false". * **videoAspectRatio** *(string) --* Sets the non-featured participant display mode, to control the aspect ratio of video tiles. "VIDEO" is 16:9, "SQUARE" is 1:1, and "PORTRAIT" is 3:4. Default: "VIDEO". * **videoFillMode** *(string) --* Defines how video content fits within the participant tile: "FILL" (stretched), "COVER" (cropped), or "CONTAIN" (letterboxed). When not set, "videoFillMode" defaults to "COVER" fill mode for participants in the grid and to "CONTAIN" fill mode for featured participants. * **gridGap** *(integer) --* Specifies the spacing between participant tiles in pixels. Default: "2". * **pip** *(dict) --* Configuration related to PiP layout. * **featuredParticipantAttribute** *(string) --* This attribute name identifies the featured slot. A participant with this attribute set to ""true"" (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. Default: """" (no featured participant). * **omitStoppedVideo** *(boolean) --* Determines whether to omit participants with stopped video in the composition. Default: "false". * **videoFillMode** *(string) --* Defines how video content fits within the participant tile: "FILL" (stretched), "COVER" (cropped), or "CONTAIN" (letterboxed). Default: "COVER". * **gridGap** *(integer) --* Specifies the spacing between participant tiles in pixels. Default: "0". * **pipParticipantAttribute** *(string) --* Specifies the participant for the PiP window. A participant with this attribute set to ""true"" (as a string value) in ParticipantTokenConfiguration is placed in the PiP slot. Default: """" (no PiP participant). * **pipBehavior** *(string) --* Defines PiP behavior when all participants have left: "STATIC" (maintains original position/size) or "DYNAMIC" (expands to full composition). Default: "STATIC". * **pipOffset** *(integer) --* Sets the PiP window’s offset position in pixels from the closest edges determined by "PipPosition". Default: "0". * **pipPosition** *(string) --* Determines the corner position of the PiP window. Default: "BOTTOM_RIGHT". * **pipWidth** *(integer) --* Specifies the width of the PiP window in pixels. When this is not set explicitly, "pipWidth"’s value will be based on the size of the composition and the aspect ratio of the participant’s video. * **pipHeight** *(integer) --* Specifies the height of the PiP window in pixels. When this is not set explicitly, "pipHeight"’s value will be based on the size of the composition and the aspect ratio of the participant’s video. * **destinations** *(list) --* Array of Destination objects. A Composition can contain either one destination ( "channel" or "s3") or two (one "channel" and one "s3"). * *(dict) --* Object specifying the status of a Destination. * **id** *(string) --* Unique identifier for this destination, assigned by IVS. * **state** *(string) --* State of the Composition Destination. * **startTime** *(datetime) --* UTC time of the destination start. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **endTime** *(datetime) --* UTC time of the destination end. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **configuration** *(dict) --* Configuration used to create this destination. * **name** *(string) --* Name that can be specified to help identify the destination. * **channel** *(dict) --* An IVS channel to be used for broadcasting, for server-side composition. Either a "channel" or an "s3" must be specified. * **channelArn** *(string) --* ARN of the channel to use for broadcasting. The channel and stage resources must be in the same AWS account and region. The channel must be offline (not broadcasting). * **encoderConfigurationArn** *(string) --* ARN of the EncoderConfiguration resource. The encoder configuration and stage resources must be in the same AWS account and region. * **s3** *(dict) --* An S3 storage configuration to be used for recording video data. Either a "channel" or an "s3" must be specified. * **storageConfigurationArn** *(string) --* ARN of the StorageConfiguration where recorded videos will be stored. * **encoderConfigurationArns** *(list) --* ARNs of the EncoderConfiguration resource. The encoder configuration and stage resources must be in the same AWS account and region. * *(string) --* * **recordingConfiguration** *(dict) --* Array of maps, each of the form "string:string (key:value)". This is an optional customer specification, currently used only to specify the recording format for storing a recording in Amazon S3. * **hlsConfiguration** *(dict) --* An HLS configuration object to return information about how the recording will be configured. * **targetSegmentDurationSeconds** *(integer) --* Defines the target duration for recorded segments generated when using composite recording. Default: 2. * **format** *(string) --* The recording format for storing a recording in Amazon S3. * **thumbnailConfigurations** *(list) --* A complex type that allows you to enable/disable the recording of thumbnails for a Composition and modify the interval at which thumbnails are generated for the live session. * *(dict) --* An object representing a configuration of thumbnails for recorded video for a Composition. * **targetIntervalSeconds** *(integer) --* The targeted thumbnail-generation interval in seconds. Default: 60. * **storage** *(list) --* Indicates the format in which thumbnails are recorded. "SEQUENTIAL" records all generated thumbnails in a serial manner, to the media/thumbnails/(width)x(height) directory, where (width) and (height) are the width and height of the thumbnail. "LATEST" saves the latest thumbnail in media/latest_thumbnail/(w idth)x(height)/thumb.jpg and overwrites it at the interval specified by "targetIntervalSeconds". You can enable both "SEQUENTIAL" and "LATEST". Default: "SEQUENTIAL". * *(string) --* * **detail** *(dict) --* Optional details regarding the status of the destination. * **s3** *(dict) --* An S3 detail object to return information about the S3 destination. * **recordingPrefix** *(string) --* The S3 bucket prefix under which the recording is stored. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **startTime** *(datetime) --* UTC time of the Composition start. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **endTime** *(datetime) --* UTC time of the Composition end. This is an ISO 8601 timestamp; *note that this is returned as a string*. **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / list_tags_for_resource list_tags_for_resource ********************** ivsrealtime.Client.list_tags_for_resource(**kwargs) Gets information about AWS tags for the specified ARN. See also: AWS API Documentation **Request Syntax** response = client.list_tags_for_resource( resourceArn='string' ) Parameters: **resourceArn** (*string*) -- **[REQUIRED]** The ARN of the resource to be retrieved. The ARN must be URL- encoded. Return type: dict Returns: **Response Syntax** { 'tags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.InternalServerException" ivsrealtime / Client / create_stage create_stage ************ ivsrealtime.Client.create_stage(**kwargs) Creates a new stage (and optionally participant tokens). See also: AWS API Documentation **Request Syntax** response = client.create_stage( name='string', participantTokenConfigurations=[ { 'duration': 123, 'userId': 'string', 'attributes': { 'string': 'string' }, 'capabilities': [ 'PUBLISH'|'SUBSCRIBE', ] }, ], tags={ 'string': 'string' }, autoParticipantRecordingConfiguration={ 'storageConfigurationArn': 'string', 'mediaTypes': [ 'AUDIO_VIDEO'|'AUDIO_ONLY'|'NONE', ], 'thumbnailConfiguration': { 'targetIntervalSeconds': 123, 'storage': [ 'SEQUENTIAL'|'LATEST', ], 'recordingMode': 'INTERVAL'|'DISABLED' }, 'recordingReconnectWindowSeconds': 123, 'hlsConfiguration': { 'targetSegmentDurationSeconds': 123 }, 'recordParticipantReplicas': True|False } ) Parameters: * **name** (*string*) -- Optional name that can be specified for the stage being created. * **participantTokenConfigurations** (*list*) -- Array of participant token configuration objects to attach to the new stage. * *(dict) --* Object specifying a participant token configuration in a stage. * **duration** *(integer) --* Duration (in minutes), after which the corresponding participant token expires. Default: 720 (12 hours). * **userId** *(string) --* Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **attributes** *(dict) --* Application-provided attributes to encode into the corresponding participant token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * *(string) --* * *(string) --* * **capabilities** *(list) --* Set of capabilities that the user is allowed to perform in the stage. * *(string) --* * **tags** (*dict*) -- Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **autoParticipantRecordingConfiguration** (*dict*) -- Configuration object for individual participant recording, to attach to the new stage. * **storageConfigurationArn** *(string) --* **[REQUIRED]** ARN of the StorageConfiguration resource to use for individual participant recording. Default: """" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated. To disable individual participant recording, set this to """"; other fields in this object will get reset to their defaults when sending """". * **mediaTypes** *(list) --* Types of media to be recorded. Default: "AUDIO_VIDEO". * *(string) --* * **thumbnailConfiguration** *(dict) --* A complex type that allows you to enable/disable the recording of thumbnails for individual participant recording and modify the interval at which thumbnails are generated for the live session. * **targetIntervalSeconds** *(integer) --* The targeted thumbnail-generation interval in seconds. This is configurable only if "recordingMode" is "INTERVAL". Default: 60. * **storage** *(list) --* Indicates the format in which thumbnails are recorded. "SEQUENTIAL" records all generated thumbnails in a serial manner, to the media/thumbnails/high directory. "LATEST" saves the latest thumbnail in media/latest_thumbnail/high/thumb.jpg and overwrites it at the interval specified by "targetIntervalSeconds". You can enable both "SEQUENTIAL" and "LATEST". Default: "SEQUENTIAL". * *(string) --* * **recordingMode** *(string) --* Thumbnail recording mode. Default: "DISABLED". * **recordingReconnectWindowSeconds** *(integer) --* If a stage publisher disconnects and then reconnects within the specified interval, the multiple recordings will be considered a single recording and merged together. The default value is 0, which disables merging. * **hlsConfiguration** *(dict) --* HLS configuration object for individual participant recording. * **targetSegmentDurationSeconds** *(integer) --* Defines the target duration for recorded segments generated when recording a stage participant. Segments may have durations longer than the specified value when needed to ensure each segment begins with a keyframe. Default: 6. * **recordParticipantReplicas** *(boolean) --* Optional field to disable replica participant recording. If this is set to "false" when a participant is a replica, replica participants are not recorded. Default: "true". Return type: dict Returns: **Response Syntax** { 'stage': { 'arn': 'string', 'name': 'string', 'activeSessionId': 'string', 'tags': { 'string': 'string' }, 'autoParticipantRecordingConfiguration': { 'storageConfigurationArn': 'string', 'mediaTypes': [ 'AUDIO_VIDEO'|'AUDIO_ONLY'|'NONE', ], 'thumbnailConfiguration': { 'targetIntervalSeconds': 123, 'storage': [ 'SEQUENTIAL'|'LATEST', ], 'recordingMode': 'INTERVAL'|'DISABLED' }, 'recordingReconnectWindowSeconds': 123, 'hlsConfiguration': { 'targetSegmentDurationSeconds': 123 }, 'recordParticipantReplicas': True|False }, 'endpoints': { 'events': 'string', 'whip': 'string', 'rtmp': 'string', 'rtmps': 'string' } }, 'participantTokens': [ { 'participantId': 'string', 'token': 'string', 'userId': 'string', 'attributes': { 'string': 'string' }, 'duration': 123, 'capabilities': [ 'PUBLISH'|'SUBSCRIBE', ], 'expirationTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **stage** *(dict) --* The stage that was created. * **arn** *(string) --* Stage ARN. * **name** *(string) --* Stage name. * **activeSessionId** *(string) --* ID of the active session within the stage. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **autoParticipantRecordingConfiguration** *(dict) --* Configuration object for individual participant recording, attached to the stage. * **storageConfigurationArn** *(string) --* ARN of the StorageConfiguration resource to use for individual participant recording. Default: """" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated. To disable individual participant recording, set this to """"; other fields in this object will get reset to their defaults when sending """". * **mediaTypes** *(list) --* Types of media to be recorded. Default: "AUDIO_VIDEO". * *(string) --* * **thumbnailConfiguration** *(dict) --* A complex type that allows you to enable/disable the recording of thumbnails for individual participant recording and modify the interval at which thumbnails are generated for the live session. * **targetIntervalSeconds** *(integer) --* The targeted thumbnail-generation interval in seconds. This is configurable only if "recordingMode" is "INTERVAL". Default: 60. * **storage** *(list) --* Indicates the format in which thumbnails are recorded. "SEQUENTIAL" records all generated thumbnails in a serial manner, to the media/thumbnails/high directory. "LATEST" saves the latest thumbnail in media/latest_thumbnail/high/thumb.jpg and overwrites it at the interval specified by "targetIntervalSeconds". You can enable both "SEQUENTIAL" and "LATEST". Default: "SEQUENTIAL". * *(string) --* * **recordingMode** *(string) --* Thumbnail recording mode. Default: "DISABLED". * **recordingReconnectWindowSeconds** *(integer) --* If a stage publisher disconnects and then reconnects within the specified interval, the multiple recordings will be considered a single recording and merged together. The default value is 0, which disables merging. * **hlsConfiguration** *(dict) --* HLS configuration object for individual participant recording. * **targetSegmentDurationSeconds** *(integer) --* Defines the target duration for recorded segments generated when recording a stage participant. Segments may have durations longer than the specified value when needed to ensure each segment begins with a keyframe. Default: 6. * **recordParticipantReplicas** *(boolean) --* Optional field to disable replica participant recording. If this is set to "false" when a participant is a replica, replica participants are not recorded. Default: "true". * **endpoints** *(dict) --* Summary information about various endpoints for a stage. * **events** *(string) --* Events endpoint. * **whip** *(string) --* The endpoint to be used for IVS real-time streaming using the WHIP protocol. * **rtmp** *(string) --* The endpoint to be used for IVS real-time streaming using the RTMP protocol. * **rtmps** *(string) --* The endpoint to be used for IVS real-time streaming using the RTMPS protocol. * **participantTokens** *(list) --* Participant tokens attached to the stage. These correspond to the "participants" in the request. * *(dict) --* Object specifying a participant token in a stage. **Important**: Treat tokens as opaque; i.e., do not build functionality based on token contents. The format of tokens could change in the future. * **participantId** *(string) --* Unique identifier for this participant token, assigned by IVS. * **token** *(string) --* The issued client token, encrypted. * **userId** *(string) --* Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **attributes** *(dict) --* Application-provided attributes to encode into the token and attach to a stage. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * *(string) --* * *(string) --* * **duration** *(integer) --* Duration (in minutes), after which the participant token expires. Default: 720 (12 hours). * **capabilities** *(list) --* Set of capabilities that the user is allowed to perform in the stage. * *(string) --* * **expirationTime** *(datetime) --* ISO 8601 timestamp (returned as a string) for when this token expires. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / list_participant_events list_participant_events *********************** ivsrealtime.Client.list_participant_events(**kwargs) Lists events for a specified participant that occurred during a specified stage session. See also: AWS API Documentation **Request Syntax** response = client.list_participant_events( stageArn='string', sessionId='string', participantId='string', nextToken='string', maxResults=123 ) Parameters: * **stageArn** (*string*) -- **[REQUIRED]** Stage ARN. * **sessionId** (*string*) -- **[REQUIRED]** ID of a session within the stage. * **participantId** (*string*) -- **[REQUIRED]** Unique identifier for this participant. This is assigned by IVS and returned by CreateParticipantToken. * **nextToken** (*string*) -- The first participant event to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of results to return. Default: 50. Return type: dict Returns: **Response Syntax** { 'events': [ { 'name': 'JOINED'|'LEFT'|'PUBLISH_STARTED'|'PUBLISH_STOPPED'|'SUBSCRIBE_STARTED'|'SUBSCRIBE_STOPPED'|'PUBLISH_ERROR'|'SUBSCRIBE_ERROR'|'JOIN_ERROR'|'REPLICATION_STARTED'|'REPLICATION_STOPPED', 'participantId': 'string', 'eventTime': datetime(2015, 1, 1), 'remoteParticipantId': 'string', 'errorCode': 'INSUFFICIENT_CAPABILITIES'|'QUOTA_EXCEEDED'|'PUBLISHER_NOT_FOUND'|'BITRATE_EXCEEDED'|'RESOLUTION_EXCEEDED'|'STREAM_DURATION_EXCEEDED'|'INVALID_AUDIO_CODEC'|'INVALID_VIDEO_CODEC'|'INVALID_PROTOCOL'|'INVALID_STREAM_KEY'|'REUSE_OF_STREAM_KEY'|'B_FRAME_PRESENT'|'INVALID_INPUT'|'INTERNAL_SERVER_EXCEPTION', 'destinationStageArn': 'string', 'destinationSessionId': 'string', 'replica': True|False }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **events** *(list) --* List of the matching events. * *(dict) --* An occurrence during a stage session. * **name** *(string) --* The name of the event. * **participantId** *(string) --* Unique identifier for the participant who triggered the event. This is assigned by IVS. * **eventTime** *(datetime) --* ISO 8601 timestamp (returned as a string) for when the event occurred. * **remoteParticipantId** *(string) --* Unique identifier for the remote participant. For a subscribe event, this is the publisher. For a publish or join event, this is null. This is assigned by IVS. * **errorCode** *(string) --* If the event is an error event, the error code is provided to give insight into the specific error that occurred. If the event is not an error event, this field is null. * "B_FRAME_PRESENT" — The participant's stream includes B-frames. For details, see IVS RTMP Publishing. * "BITRATE_EXCEEDED" — The participant exceeded the maximum supported bitrate. For details, see Service Quotas. * "INSUFFICIENT_CAPABILITIES" — The participant tried to take an action that the participant’s token is not allowed to do. For details on participant capabilities, see the "capabilities" field in CreateParticipantToken. * "INTERNAL_SERVER_EXCEPTION" — The participant failed to publish to the stage due to an internal server error. * "INVALID_AUDIO_CODEC" — The participant is using an invalid audio codec. For details, see Stream Ingest. * "INVALID_INPUT" — The participant is using an invalid input stream. * "INVALID_PROTOCOL" — The participant's IngestConfiguration resource is configured for RTMPS but they tried streaming with RTMP. For details, see IVS RTMP Publishing. * "INVALID_STREAM_KEY" — The participant is using an invalid stream key. For details, see IVS RTMP Publishing. * "INVALID_VIDEO_CODEC" — The participant is using an invalid video codec. For details, see Stream Ingest. * "PUBLISHER_NOT_FOUND" — The participant tried to subscribe to a publisher that doesn’t exist. * "QUOTA_EXCEEDED" — The number of participants who want to publish/subscribe to a stage exceeds the quota. For details, see Service Quotas. * "RESOLUTION_EXCEEDED" — The participant exceeded the maximum supported resolution. For details, see Service Quotas. * "REUSE_OF_STREAM_KEY" — The participant tried to use a stream key that is associated with another active stage session. * "STREAM_DURATION_EXCEEDED" — The participant exceeded the maximum allowed stream duration. For details, see Service Quotas. * **destinationStageArn** *(string) --* ARN of the stage where the participant is replicated. Applicable only if the event name is "REPLICATION_STARTED" or "REPLICATION_STOPPED". * **destinationSessionId** *(string) --* ID of the session within the destination stage. Applicable only if the event name is "REPLICATION_STARTED" or "REPLICATION_STOPPED". * **replica** *(boolean) --* If true, this indicates the "participantId" is a replicated participant. If this is a subscribe event, then this flag refers to "remoteParticipantId". * **nextToken** *(string) --* If there are more events than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / list_public_keys list_public_keys **************** ivsrealtime.Client.list_public_keys(**kwargs) Gets summary information about all public keys in your account, in the AWS region where the API request is processed. See also: AWS API Documentation **Request Syntax** response = client.list_public_keys( nextToken='string', maxResults=123 ) Parameters: * **nextToken** (*string*) -- The first public key to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of results to return. Default: 50. Return type: dict Returns: **Response Syntax** { 'publicKeys': [ { 'arn': 'string', 'name': 'string', 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **publicKeys** *(list) --* List of the matching public keys (summary information only). * *(dict) --* Summary information about a public key. * **arn** *(string) --* Public key ARN. * **name** *(string) --* Public key name. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **nextToken** *(string) --* If there are more public keys than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / untag_resource untag_resource ************** ivsrealtime.Client.untag_resource(**kwargs) Removes tags from the resource with the specified ARN. See also: AWS API Documentation **Request Syntax** response = client.untag_resource( resourceArn='string', tagKeys=[ 'string', ] ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The ARN of the resource to be untagged. The ARN must be URL- encoded. * **tagKeys** (*list*) -- **[REQUIRED]** Array of tag keys (strings) for the tags to be removed. See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.InternalServerException" ivsrealtime / Client / update_ingest_configuration update_ingest_configuration *************************** ivsrealtime.Client.update_ingest_configuration(**kwargs) Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated. See also: AWS API Documentation **Request Syntax** response = client.update_ingest_configuration( arn='string', stageArn='string' ) Parameters: * **arn** (*string*) -- **[REQUIRED]** ARN of the IngestConfiguration, for which the related stage ARN needs to be updated. * **stageArn** (*string*) -- Stage ARN that needs to be updated. Return type: dict Returns: **Response Syntax** { 'ingestConfiguration': { 'name': 'string', 'arn': 'string', 'ingestProtocol': 'RTMP'|'RTMPS', 'streamKey': 'string', 'stageArn': 'string', 'participantId': 'string', 'state': 'ACTIVE'|'INACTIVE', 'userId': 'string', 'attributes': { 'string': 'string' }, 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **ingestConfiguration** *(dict) --* The updated IngestConfiguration. * **name** *(string) --* Ingest name * **arn** *(string) --* Ingest configuration ARN. * **ingestProtocol** *(string) --* Type of ingest protocol that the user employs for broadcasting. * **streamKey** *(string) --* Ingest-key value for the RTMP(S) protocol. * **stageArn** *(string) --* ARN of the stage with which the IngestConfiguration is associated. * **participantId** *(string) --* ID of the participant within the stage. * **state** *(string) --* State of the ingest configuration. It is "ACTIVE" if a publisher currently is publishing to the stage associated with the ingest configuration. * **userId** *(string) --* Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **attributes** *(dict) --* Application-provided attributes to to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * *(string) --* * *(string) --* * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / delete_storage_configuration delete_storage_configuration **************************** ivsrealtime.Client.delete_storage_configuration(**kwargs) Deletes the storage configuration for the specified ARN. If you try to delete a storage configuration that is used by a Composition, you will get an error (409 ConflictException). To avoid this, for all Compositions that reference the storage configuration, first use StopComposition and wait for it to complete, then use DeleteStorageConfiguration. See also: AWS API Documentation **Request Syntax** response = client.delete_storage_configuration( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the storage configuration to be deleted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / get_stage get_stage ********* ivsrealtime.Client.get_stage(**kwargs) Gets information for the specified stage. See also: AWS API Documentation **Request Syntax** response = client.get_stage( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the stage for which the information is to be retrieved. Return type: dict Returns: **Response Syntax** { 'stage': { 'arn': 'string', 'name': 'string', 'activeSessionId': 'string', 'tags': { 'string': 'string' }, 'autoParticipantRecordingConfiguration': { 'storageConfigurationArn': 'string', 'mediaTypes': [ 'AUDIO_VIDEO'|'AUDIO_ONLY'|'NONE', ], 'thumbnailConfiguration': { 'targetIntervalSeconds': 123, 'storage': [ 'SEQUENTIAL'|'LATEST', ], 'recordingMode': 'INTERVAL'|'DISABLED' }, 'recordingReconnectWindowSeconds': 123, 'hlsConfiguration': { 'targetSegmentDurationSeconds': 123 }, 'recordParticipantReplicas': True|False }, 'endpoints': { 'events': 'string', 'whip': 'string', 'rtmp': 'string', 'rtmps': 'string' } } } **Response Structure** * *(dict) --* * **stage** *(dict) --* The stage that is returned. * **arn** *(string) --* Stage ARN. * **name** *(string) --* Stage name. * **activeSessionId** *(string) --* ID of the active session within the stage. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **autoParticipantRecordingConfiguration** *(dict) --* Configuration object for individual participant recording, attached to the stage. * **storageConfigurationArn** *(string) --* ARN of the StorageConfiguration resource to use for individual participant recording. Default: """" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated. To disable individual participant recording, set this to """"; other fields in this object will get reset to their defaults when sending """". * **mediaTypes** *(list) --* Types of media to be recorded. Default: "AUDIO_VIDEO". * *(string) --* * **thumbnailConfiguration** *(dict) --* A complex type that allows you to enable/disable the recording of thumbnails for individual participant recording and modify the interval at which thumbnails are generated for the live session. * **targetIntervalSeconds** *(integer) --* The targeted thumbnail-generation interval in seconds. This is configurable only if "recordingMode" is "INTERVAL". Default: 60. * **storage** *(list) --* Indicates the format in which thumbnails are recorded. "SEQUENTIAL" records all generated thumbnails in a serial manner, to the media/thumbnails/high directory. "LATEST" saves the latest thumbnail in media/latest_thumbnail/high/thumb.jpg and overwrites it at the interval specified by "targetIntervalSeconds". You can enable both "SEQUENTIAL" and "LATEST". Default: "SEQUENTIAL". * *(string) --* * **recordingMode** *(string) --* Thumbnail recording mode. Default: "DISABLED". * **recordingReconnectWindowSeconds** *(integer) --* If a stage publisher disconnects and then reconnects within the specified interval, the multiple recordings will be considered a single recording and merged together. The default value is 0, which disables merging. * **hlsConfiguration** *(dict) --* HLS configuration object for individual participant recording. * **targetSegmentDurationSeconds** *(integer) --* Defines the target duration for recorded segments generated when recording a stage participant. Segments may have durations longer than the specified value when needed to ensure each segment begins with a keyframe. Default: 6. * **recordParticipantReplicas** *(boolean) --* Optional field to disable replica participant recording. If this is set to "false" when a participant is a replica, replica participants are not recorded. Default: "true". * **endpoints** *(dict) --* Summary information about various endpoints for a stage. * **events** *(string) --* Events endpoint. * **whip** *(string) --* The endpoint to be used for IVS real-time streaming using the WHIP protocol. * **rtmp** *(string) --* The endpoint to be used for IVS real-time streaming using the RTMP protocol. * **rtmps** *(string) --* The endpoint to be used for IVS real-time streaming using the RTMPS protocol. **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / get_waiter get_waiter ********** ivsrealtime.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" ivsrealtime / Client / list_encoder_configurations list_encoder_configurations *************************** ivsrealtime.Client.list_encoder_configurations(**kwargs) Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request is processed. See also: AWS API Documentation **Request Syntax** response = client.list_encoder_configurations( nextToken='string', maxResults=123 ) Parameters: * **nextToken** (*string*) -- The first encoder configuration to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of results to return. Default: 100. Return type: dict Returns: **Response Syntax** { 'encoderConfigurations': [ { 'arn': 'string', 'name': 'string', 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **encoderConfigurations** *(list) --* List of the matching EncoderConfigurations (summary information only). * *(dict) --* Summary information about an EncoderConfiguration. * **arn** *(string) --* ARN of the EncoderConfiguration resource. * **name** *(string) --* Optional name to identify the resource. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **nextToken** *(string) --* If there are more encoder configurations than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / stop_composition stop_composition **************** ivsrealtime.Client.stop_composition(**kwargs) Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped. See also: AWS API Documentation **Request Syntax** response = client.stop_composition( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the Composition. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / delete_ingest_configuration delete_ingest_configuration *************************** ivsrealtime.Client.delete_ingest_configuration(**kwargs) Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. An IngestConfiguration cannot be deleted if the publisher is actively streaming to a stage, unless "force" is set to "true". See also: AWS API Documentation **Request Syntax** response = client.delete_ingest_configuration( arn='string', force=True|False ) Parameters: * **arn** (*string*) -- **[REQUIRED]** ARN of the IngestConfiguration. * **force** (*boolean*) -- Optional field to force deletion of the IngestConfiguration. If this is set to "true" when a participant is actively publishing, the participant is disconnected from the stage, followed by deletion of the IngestConfiguration. Default: "false". Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / list_storage_configurations list_storage_configurations *************************** ivsrealtime.Client.list_storage_configurations(**kwargs) Gets summary information about all storage configurations in your account, in the AWS region where the API request is processed. See also: AWS API Documentation **Request Syntax** response = client.list_storage_configurations( nextToken='string', maxResults=123 ) Parameters: * **nextToken** (*string*) -- The first storage configuration to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of storage configurations to return. Default: your service quota or 100, whichever is smaller. Return type: dict Returns: **Response Syntax** { 'storageConfigurations': [ { 'arn': 'string', 'name': 'string', 's3': { 'bucketName': 'string' }, 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **storageConfigurations** *(list) --* List of the matching storage configurations. * *(dict) --* Summary information about a storage configuration. * **arn** *(string) --* ARN of the storage configuration. * **name** *(string) --* Name of the storage configuration. * **s3** *(dict) --* An S3 destination configuration where recorded videos will be stored. * **bucketName** *(string) --* Location (S3 bucket name) where recorded videos will be stored. Note that the StorageConfiguration and S3 bucket must be in the same region as the Composition. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **nextToken** *(string) --* If there are more storage configurations than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / list_stages list_stages *********** ivsrealtime.Client.list_stages(**kwargs) Gets summary information about all stages in your account, in the AWS region where the API request is processed. See also: AWS API Documentation **Request Syntax** response = client.list_stages( nextToken='string', maxResults=123 ) Parameters: * **nextToken** (*string*) -- The first stage to retrieve. This is used for pagination; see the "nextToken" response field. * **maxResults** (*integer*) -- Maximum number of results to return. Default: 50. Return type: dict Returns: **Response Syntax** { 'stages': [ { 'arn': 'string', 'name': 'string', 'activeSessionId': 'string', 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **stages** *(list) --* List of the matching stages (summary information only). * *(dict) --* Summary information about a stage. * **arn** *(string) --* Stage ARN. * **name** *(string) --* Stage name. * **activeSessionId** *(string) --* ID of the active session within the stage. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **nextToken** *(string) --* If there are more stages than "maxResults", use "nextToken" in the request to get the next set. **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / get_encoder_configuration get_encoder_configuration ************************* ivsrealtime.Client.get_encoder_configuration(**kwargs) Gets information about the specified EncoderConfiguration resource. See also: AWS API Documentation **Request Syntax** response = client.get_encoder_configuration( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the EncoderConfiguration resource. Return type: dict Returns: **Response Syntax** { 'encoderConfiguration': { 'arn': 'string', 'name': 'string', 'video': { 'width': 123, 'height': 123, 'framerate': ..., 'bitrate': 123 }, 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **encoderConfiguration** *(dict) --* The EncoderConfiguration that was returned. * **arn** *(string) --* ARN of the EncoderConfiguration resource. * **name** *(string) --* Optional name to identify the resource. * **video** *(dict) --* Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps * **width** *(integer) --* Video-resolution width. This must be an even number. Note that the maximum value is determined by "width" times "height", such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280. * **height** *(integer) --* Video-resolution height. This must be an even number. Note that the maximum value is determined by "width" times "height", such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720. * **framerate** *(float) --* Video frame rate, in fps. Default: 30. * **bitrate** *(integer) --* Bitrate for generated output, in bps. Default: 2500000. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / disconnect_participant disconnect_participant ********************** ivsrealtime.Client.disconnect_participant(**kwargs) Disconnects a specified participant from a specified stage. If the participant is publishing using an IngestConfiguration, DisconnectParticipant also updates the "stageArn" in the IngestConfiguration to be an empty string. See also: AWS API Documentation **Request Syntax** response = client.disconnect_participant( stageArn='string', participantId='string', reason='string' ) Parameters: * **stageArn** (*string*) -- **[REQUIRED]** ARN of the stage to which the participant is attached. * **participantId** (*string*) -- **[REQUIRED]** Identifier of the participant to be disconnected. IVS assigns this; it is returned by CreateParticipantToken (for streams using WebRTC ingest) or CreateIngestConfiguration (for streams using RTMP ingest). * **reason** (*string*) -- Description of why this participant is being disconnected. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / close close ***** ivsrealtime.Client.close() Closes underlying endpoint connections. ivsrealtime / Client / start_composition start_composition ***************** ivsrealtime.Client.start_composition(**kwargs) Starts a Composition from a stage based on the configuration provided in the request. A Composition is an ephemeral resource that exists after this operation returns successfully. Composition stops and the resource is deleted: * When StopComposition is called. * After a 1-minute timeout, when all participants are disconnected from the stage. * After a 1-minute timeout, if there are no participants in the stage when StartComposition is called. * When broadcasting to the IVS channel fails and all retries are exhausted. * When broadcasting is disconnected and all attempts to reconnect are exhausted. See also: AWS API Documentation **Request Syntax** response = client.start_composition( stageArn='string', idempotencyToken='string', layout={ 'grid': { 'featuredParticipantAttribute': 'string', 'omitStoppedVideo': True|False, 'videoAspectRatio': 'AUTO'|'VIDEO'|'SQUARE'|'PORTRAIT', 'videoFillMode': 'FILL'|'COVER'|'CONTAIN', 'gridGap': 123 }, 'pip': { 'featuredParticipantAttribute': 'string', 'omitStoppedVideo': True|False, 'videoFillMode': 'FILL'|'COVER'|'CONTAIN', 'gridGap': 123, 'pipParticipantAttribute': 'string', 'pipBehavior': 'STATIC'|'DYNAMIC', 'pipOffset': 123, 'pipPosition': 'TOP_LEFT'|'TOP_RIGHT'|'BOTTOM_LEFT'|'BOTTOM_RIGHT', 'pipWidth': 123, 'pipHeight': 123 } }, destinations=[ { 'name': 'string', 'channel': { 'channelArn': 'string', 'encoderConfigurationArn': 'string' }, 's3': { 'storageConfigurationArn': 'string', 'encoderConfigurationArns': [ 'string', ], 'recordingConfiguration': { 'hlsConfiguration': { 'targetSegmentDurationSeconds': 123 }, 'format': 'HLS' }, 'thumbnailConfigurations': [ { 'targetIntervalSeconds': 123, 'storage': [ 'SEQUENTIAL'|'LATEST', ] }, ] } }, ], tags={ 'string': 'string' } ) Parameters: * **stageArn** (*string*) -- **[REQUIRED]** ARN of the stage to be used for compositing. * **idempotencyToken** (*string*) -- Idempotency token. This field is autopopulated if not provided. * **layout** (*dict*) -- Layout object to configure composition parameters. * **grid** *(dict) --* Configuration related to grid layout. Default: Grid layout. * **featuredParticipantAttribute** *(string) --* This attribute name identifies the featured slot. A participant with this attribute set to ""true"" (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. Default: """" (no featured participant). * **omitStoppedVideo** *(boolean) --* Determines whether to omit participants with stopped video in the composition. Default: "false". * **videoAspectRatio** *(string) --* Sets the non-featured participant display mode, to control the aspect ratio of video tiles. "VIDEO" is 16:9, "SQUARE" is 1:1, and "PORTRAIT" is 3:4. Default: "VIDEO". * **videoFillMode** *(string) --* Defines how video content fits within the participant tile: "FILL" (stretched), "COVER" (cropped), or "CONTAIN" (letterboxed). When not set, "videoFillMode" defaults to "COVER" fill mode for participants in the grid and to "CONTAIN" fill mode for featured participants. * **gridGap** *(integer) --* Specifies the spacing between participant tiles in pixels. Default: "2". * **pip** *(dict) --* Configuration related to PiP layout. * **featuredParticipantAttribute** *(string) --* This attribute name identifies the featured slot. A participant with this attribute set to ""true"" (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. Default: """" (no featured participant). * **omitStoppedVideo** *(boolean) --* Determines whether to omit participants with stopped video in the composition. Default: "false". * **videoFillMode** *(string) --* Defines how video content fits within the participant tile: "FILL" (stretched), "COVER" (cropped), or "CONTAIN" (letterboxed). Default: "COVER". * **gridGap** *(integer) --* Specifies the spacing between participant tiles in pixels. Default: "0". * **pipParticipantAttribute** *(string) --* Specifies the participant for the PiP window. A participant with this attribute set to ""true"" (as a string value) in ParticipantTokenConfiguration is placed in the PiP slot. Default: """" (no PiP participant). * **pipBehavior** *(string) --* Defines PiP behavior when all participants have left: "STATIC" (maintains original position/size) or "DYNAMIC" (expands to full composition). Default: "STATIC". * **pipOffset** *(integer) --* Sets the PiP window’s offset position in pixels from the closest edges determined by "PipPosition". Default: "0". * **pipPosition** *(string) --* Determines the corner position of the PiP window. Default: "BOTTOM_RIGHT". * **pipWidth** *(integer) --* Specifies the width of the PiP window in pixels. When this is not set explicitly, "pipWidth"’s value will be based on the size of the composition and the aspect ratio of the participant’s video. * **pipHeight** *(integer) --* Specifies the height of the PiP window in pixels. When this is not set explicitly, "pipHeight"’s value will be based on the size of the composition and the aspect ratio of the participant’s video. * **destinations** (*list*) -- **[REQUIRED]** Array of destination configuration. * *(dict) --* Complex data type that defines destination-configuration objects. * **name** *(string) --* Name that can be specified to help identify the destination. * **channel** *(dict) --* An IVS channel to be used for broadcasting, for server- side composition. Either a "channel" or an "s3" must be specified. * **channelArn** *(string) --* **[REQUIRED]** ARN of the channel to use for broadcasting. The channel and stage resources must be in the same AWS account and region. The channel must be offline (not broadcasting). * **encoderConfigurationArn** *(string) --* ARN of the EncoderConfiguration resource. The encoder configuration and stage resources must be in the same AWS account and region. * **s3** *(dict) --* An S3 storage configuration to be used for recording video data. Either a "channel" or an "s3" must be specified. * **storageConfigurationArn** *(string) --* **[REQUIRED]** ARN of the StorageConfiguration where recorded videos will be stored. * **encoderConfigurationArns** *(list) --* **[REQUIRED]** ARNs of the EncoderConfiguration resource. The encoder configuration and stage resources must be in the same AWS account and region. * *(string) --* * **recordingConfiguration** *(dict) --* Array of maps, each of the form "string:string (key:value)". This is an optional customer specification, currently used only to specify the recording format for storing a recording in Amazon S3. * **hlsConfiguration** *(dict) --* An HLS configuration object to return information about how the recording will be configured. * **targetSegmentDurationSeconds** *(integer) --* Defines the target duration for recorded segments generated when using composite recording. Default: 2. * **format** *(string) --* The recording format for storing a recording in Amazon S3. * **thumbnailConfigurations** *(list) --* A complex type that allows you to enable/disable the recording of thumbnails for a Composition and modify the interval at which thumbnails are generated for the live session. * *(dict) --* An object representing a configuration of thumbnails for recorded video for a Composition. * **targetIntervalSeconds** *(integer) --* The targeted thumbnail-generation interval in seconds. Default: 60. * **storage** *(list) --* Indicates the format in which thumbnails are recorded. "SEQUENTIAL" records all generated thumbnails in a serial manner, to the media/thumbnails/(width)x(height) directory, where (width) and (height) are the width and height of the thumbnail. "LATEST" saves the latest thumbnail in media/latest_thumbnail/(width)x(height)/thumb.jpg and overwrites it at the interval specified by "targetIntervalSeconds". You can enable both "SEQUENTIAL" and "LATEST". Default: "SEQUENTIAL". * *(string) --* * **tags** (*dict*) -- Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'composition': { 'arn': 'string', 'stageArn': 'string', 'state': 'STARTING'|'ACTIVE'|'STOPPING'|'FAILED'|'STOPPED', 'layout': { 'grid': { 'featuredParticipantAttribute': 'string', 'omitStoppedVideo': True|False, 'videoAspectRatio': 'AUTO'|'VIDEO'|'SQUARE'|'PORTRAIT', 'videoFillMode': 'FILL'|'COVER'|'CONTAIN', 'gridGap': 123 }, 'pip': { 'featuredParticipantAttribute': 'string', 'omitStoppedVideo': True|False, 'videoFillMode': 'FILL'|'COVER'|'CONTAIN', 'gridGap': 123, 'pipParticipantAttribute': 'string', 'pipBehavior': 'STATIC'|'DYNAMIC', 'pipOffset': 123, 'pipPosition': 'TOP_LEFT'|'TOP_RIGHT'|'BOTTOM_LEFT'|'BOTTOM_RIGHT', 'pipWidth': 123, 'pipHeight': 123 } }, 'destinations': [ { 'id': 'string', 'state': 'STARTING'|'ACTIVE'|'STOPPING'|'RECONNECTING'|'FAILED'|'STOPPED', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'configuration': { 'name': 'string', 'channel': { 'channelArn': 'string', 'encoderConfigurationArn': 'string' }, 's3': { 'storageConfigurationArn': 'string', 'encoderConfigurationArns': [ 'string', ], 'recordingConfiguration': { 'hlsConfiguration': { 'targetSegmentDurationSeconds': 123 }, 'format': 'HLS' }, 'thumbnailConfigurations': [ { 'targetIntervalSeconds': 123, 'storage': [ 'SEQUENTIAL'|'LATEST', ] }, ] } }, 'detail': { 's3': { 'recordingPrefix': 'string' } } }, ], 'tags': { 'string': 'string' }, 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **composition** *(dict) --* The Composition that was created. * **arn** *(string) --* ARN of the Composition resource. * **stageArn** *(string) --* ARN of the stage used as input * **state** *(string) --* State of the Composition. * **layout** *(dict) --* Layout object to configure composition parameters. * **grid** *(dict) --* Configuration related to grid layout. Default: Grid layout. * **featuredParticipantAttribute** *(string) --* This attribute name identifies the featured slot. A participant with this attribute set to ""true"" (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. Default: """" (no featured participant). * **omitStoppedVideo** *(boolean) --* Determines whether to omit participants with stopped video in the composition. Default: "false". * **videoAspectRatio** *(string) --* Sets the non-featured participant display mode, to control the aspect ratio of video tiles. "VIDEO" is 16:9, "SQUARE" is 1:1, and "PORTRAIT" is 3:4. Default: "VIDEO". * **videoFillMode** *(string) --* Defines how video content fits within the participant tile: "FILL" (stretched), "COVER" (cropped), or "CONTAIN" (letterboxed). When not set, "videoFillMode" defaults to "COVER" fill mode for participants in the grid and to "CONTAIN" fill mode for featured participants. * **gridGap** *(integer) --* Specifies the spacing between participant tiles in pixels. Default: "2". * **pip** *(dict) --* Configuration related to PiP layout. * **featuredParticipantAttribute** *(string) --* This attribute name identifies the featured slot. A participant with this attribute set to ""true"" (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. Default: """" (no featured participant). * **omitStoppedVideo** *(boolean) --* Determines whether to omit participants with stopped video in the composition. Default: "false". * **videoFillMode** *(string) --* Defines how video content fits within the participant tile: "FILL" (stretched), "COVER" (cropped), or "CONTAIN" (letterboxed). Default: "COVER". * **gridGap** *(integer) --* Specifies the spacing between participant tiles in pixels. Default: "0". * **pipParticipantAttribute** *(string) --* Specifies the participant for the PiP window. A participant with this attribute set to ""true"" (as a string value) in ParticipantTokenConfiguration is placed in the PiP slot. Default: """" (no PiP participant). * **pipBehavior** *(string) --* Defines PiP behavior when all participants have left: "STATIC" (maintains original position/size) or "DYNAMIC" (expands to full composition). Default: "STATIC". * **pipOffset** *(integer) --* Sets the PiP window’s offset position in pixels from the closest edges determined by "PipPosition". Default: "0". * **pipPosition** *(string) --* Determines the corner position of the PiP window. Default: "BOTTOM_RIGHT". * **pipWidth** *(integer) --* Specifies the width of the PiP window in pixels. When this is not set explicitly, "pipWidth"’s value will be based on the size of the composition and the aspect ratio of the participant’s video. * **pipHeight** *(integer) --* Specifies the height of the PiP window in pixels. When this is not set explicitly, "pipHeight"’s value will be based on the size of the composition and the aspect ratio of the participant’s video. * **destinations** *(list) --* Array of Destination objects. A Composition can contain either one destination ( "channel" or "s3") or two (one "channel" and one "s3"). * *(dict) --* Object specifying the status of a Destination. * **id** *(string) --* Unique identifier for this destination, assigned by IVS. * **state** *(string) --* State of the Composition Destination. * **startTime** *(datetime) --* UTC time of the destination start. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **endTime** *(datetime) --* UTC time of the destination end. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **configuration** *(dict) --* Configuration used to create this destination. * **name** *(string) --* Name that can be specified to help identify the destination. * **channel** *(dict) --* An IVS channel to be used for broadcasting, for server-side composition. Either a "channel" or an "s3" must be specified. * **channelArn** *(string) --* ARN of the channel to use for broadcasting. The channel and stage resources must be in the same AWS account and region. The channel must be offline (not broadcasting). * **encoderConfigurationArn** *(string) --* ARN of the EncoderConfiguration resource. The encoder configuration and stage resources must be in the same AWS account and region. * **s3** *(dict) --* An S3 storage configuration to be used for recording video data. Either a "channel" or an "s3" must be specified. * **storageConfigurationArn** *(string) --* ARN of the StorageConfiguration where recorded videos will be stored. * **encoderConfigurationArns** *(list) --* ARNs of the EncoderConfiguration resource. The encoder configuration and stage resources must be in the same AWS account and region. * *(string) --* * **recordingConfiguration** *(dict) --* Array of maps, each of the form "string:string (key:value)". This is an optional customer specification, currently used only to specify the recording format for storing a recording in Amazon S3. * **hlsConfiguration** *(dict) --* An HLS configuration object to return information about how the recording will be configured. * **targetSegmentDurationSeconds** *(integer) --* Defines the target duration for recorded segments generated when using composite recording. Default: 2. * **format** *(string) --* The recording format for storing a recording in Amazon S3. * **thumbnailConfigurations** *(list) --* A complex type that allows you to enable/disable the recording of thumbnails for a Composition and modify the interval at which thumbnails are generated for the live session. * *(dict) --* An object representing a configuration of thumbnails for recorded video for a Composition. * **targetIntervalSeconds** *(integer) --* The targeted thumbnail-generation interval in seconds. Default: 60. * **storage** *(list) --* Indicates the format in which thumbnails are recorded. "SEQUENTIAL" records all generated thumbnails in a serial manner, to the media/thumbnails/(width)x(height) directory, where (width) and (height) are the width and height of the thumbnail. "LATEST" saves the latest thumbnail in media/latest_thumbnail/(w idth)x(height)/thumb.jpg and overwrites it at the interval specified by "targetIntervalSeconds". You can enable both "SEQUENTIAL" and "LATEST". Default: "SEQUENTIAL". * *(string) --* * **detail** *(dict) --* Optional details regarding the status of the destination. * **s3** *(dict) --* An S3 detail object to return information about the S3 destination. * **recordingPrefix** *(string) --* The S3 bucket prefix under which the recording is stored. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* * **startTime** *(datetime) --* UTC time of the Composition start. This is an ISO 8601 timestamp; *note that this is returned as a string*. * **endTime** *(datetime) --* UTC time of the Composition end. This is an ISO 8601 timestamp; *note that this is returned as a string*. **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / get_public_key get_public_key ************** ivsrealtime.Client.get_public_key(**kwargs) Gets information for the specified public key. See also: AWS API Documentation **Request Syntax** response = client.get_public_key( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the public key for which the information is to be retrieved. Return type: dict Returns: **Response Syntax** { 'publicKey': { 'arn': 'string', 'name': 'string', 'publicKeyMaterial': 'string', 'fingerprint': 'string', 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **publicKey** *(dict) --* The public key that is returned. * **arn** *(string) --* Public key ARN. * **name** *(string) --* Public key name. * **publicKeyMaterial** *(string) --* Public key material. * **fingerprint** *(string) --* The public key fingerprint, a short string used to identify or verify the full public key. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / delete_stage delete_stage ************ ivsrealtime.Client.delete_stage(**kwargs) Shuts down and deletes the specified stage (disconnecting all participants). This operation also removes the "stageArn" from the associated IngestConfiguration, if there are participants using the IngestConfiguration to publish to the stage. See also: AWS API Documentation **Request Syntax** response = client.delete_stage( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the stage to be deleted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification" ivsrealtime / Client / get_stage_session get_stage_session ***************** ivsrealtime.Client.get_stage_session(**kwargs) Gets information for the specified stage session. See also: AWS API Documentation **Request Syntax** response = client.get_stage_session( stageArn='string', sessionId='string' ) Parameters: * **stageArn** (*string*) -- **[REQUIRED]** ARN of the stage for which the information is to be retrieved. * **sessionId** (*string*) -- **[REQUIRED]** ID of a session within the stage. Return type: dict Returns: **Response Syntax** { 'stageSession': { 'sessionId': 'string', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **stageSession** *(dict) --* The stage session that is returned. * **sessionId** *(string) --* ID of the session within the stage. * **startTime** *(datetime) --* ISO 8601 timestamp (returned as a string) when this stage session began. * **endTime** *(datetime) --* ISO 8601 timestamp (returned as a string) when the stage session ended. This is null if the stage is active. **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / get_storage_configuration get_storage_configuration ************************* ivsrealtime.Client.get_storage_configuration(**kwargs) Gets the storage configuration for the specified ARN. See also: AWS API Documentation **Request Syntax** response = client.get_storage_configuration( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the storage configuration to be retrieved. Return type: dict Returns: **Response Syntax** { 'storageConfiguration': { 'arn': 'string', 'name': 'string', 's3': { 'bucketName': 'string' }, 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **storageConfiguration** *(dict) --* The StorageConfiguration that was returned. * **arn** *(string) --* ARN of the storage configuration. * **name** *(string) --* Name of the storage configuration. * **s3** *(dict) --* An S3 destination configuration where recorded videos will be stored. * **bucketName** *(string) --* Location (S3 bucket name) where recorded videos will be stored. Note that the StorageConfiguration and S3 bucket must be in the same region as the Composition. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" ivsrealtime / Client / get_ingest_configuration get_ingest_configuration ************************ ivsrealtime.Client.get_ingest_configuration(**kwargs) Gets information about the specified IngestConfiguration. See also: AWS API Documentation **Request Syntax** response = client.get_ingest_configuration( arn='string' ) Parameters: **arn** (*string*) -- **[REQUIRED]** ARN of the ingest for which the information is to be retrieved. Return type: dict Returns: **Response Syntax** { 'ingestConfiguration': { 'name': 'string', 'arn': 'string', 'ingestProtocol': 'RTMP'|'RTMPS', 'streamKey': 'string', 'stageArn': 'string', 'participantId': 'string', 'state': 'ACTIVE'|'INACTIVE', 'userId': 'string', 'attributes': { 'string': 'string' }, 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **ingestConfiguration** *(dict) --* The IngestConfiguration that was returned. * **name** *(string) --* Ingest name * **arn** *(string) --* Ingest configuration ARN. * **ingestProtocol** *(string) --* Type of ingest protocol that the user employs for broadcasting. * **streamKey** *(string) --* Ingest-key value for the RTMP(S) protocol. * **stageArn** *(string) --* ARN of the stage with which the IngestConfiguration is associated. * **participantId** *(string) --* ID of the participant within the stage. * **state** *(string) --* State of the ingest configuration. It is "ACTIVE" if a publisher currently is publishing to the stage associated with the ingest configuration. * **userId** *(string) --* Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * **attributes** *(dict) --* Application-provided attributes to to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * *(string) --* * *(string) --* * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" ivsrealtime / Client / stop_participant_replication stop_participant_replication **************************** ivsrealtime.Client.stop_participant_replication(**kwargs) Stops a replicated participant session. See also: AWS API Documentation **Request Syntax** response = client.stop_participant_replication( sourceStageArn='string', destinationStageArn='string', participantId='string' ) Parameters: * **sourceStageArn** (*string*) -- **[REQUIRED]** ARN of the stage where the participant is publishing. * **destinationStageArn** (*string*) -- **[REQUIRED]** ARN of the stage where the participant has been replicated. * **participantId** (*string*) -- **[REQUIRED]** Participant ID of the publisher that has been replicated. This is assigned by IVS and returned by CreateParticipantToken or the "jti" (JWT ID) used to create a self signed token. Return type: dict Returns: **Response Syntax** { 'accessControlAllowOrigin': 'string', 'accessControlExposeHeaders': 'string', 'cacheControl': 'string', 'contentSecurityPolicy': 'string', 'strictTransportSecurity': 'string', 'xContentTypeOptions': 'string', 'xFrameOptions': 'string' } **Response Structure** * *(dict) --* * **accessControlAllowOrigin** *(string) --* * **accessControlExposeHeaders** *(string) --* * **cacheControl** *(string) --* * **contentSecurityPolicy** *(string) --* * **strictTransportSecurity** *(string) --* * **xContentTypeOptions** *(string) --* * **xFrameOptions** *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.InternalServerException" ivsrealtime / Client / tag_resource tag_resource ************ ivsrealtime.Client.tag_resource(**kwargs) Adds or updates tags for the AWS resource with the specified ARN. See also: AWS API Documentation **Request Syntax** response = client.tag_resource( resourceArn='string', tags={ 'string': 'string' } ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The ARN of the resource to be tagged. The ARN must be URL- encoded. * **tags** (*dict*) -- **[REQUIRED]** Array of tags to be added or updated. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ivsrealtime.Client.exceptions.ResourceNotFoundException" * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.InternalServerException" ivsrealtime / Client / import_public_key import_public_key ***************** ivsrealtime.Client.import_public_key(**kwargs) Import a public key to be used for signing stage participant tokens. See also: AWS API Documentation **Request Syntax** response = client.import_public_key( publicKeyMaterial='string', name='string', tags={ 'string': 'string' } ) Parameters: * **publicKeyMaterial** (*string*) -- **[REQUIRED]** The content of the public key to be imported. * **name** (*string*) -- Name of the public key to be imported. * **tags** (*dict*) -- Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'publicKey': { 'arn': 'string', 'name': 'string', 'publicKeyMaterial': 'string', 'fingerprint': 'string', 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **publicKey** *(dict) --* The public key that was imported. * **arn** *(string) --* Public key ARN. * **name** *(string) --* Public key name. * **publicKeyMaterial** *(string) --* Public key material. * **fingerprint** *(string) --* The public key fingerprint, a short string used to identify or verify the full public key. * **tags** *(dict) --* Tags attached to the resource. Array of maps, each of the form "string:string (key:value)". See Best practices and strategies in *Tagging AWS Resources and Tag Editor* for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there. * *(string) --* * *(string) --* **Exceptions** * "ivsrealtime.Client.exceptions.ValidationException" * "ivsrealtime.Client.exceptions.AccessDeniedException" * "ivsrealtime.Client.exceptions.ServiceQuotaExceededException" * "ivsrealtime.Client.exceptions.ConflictException" * "ivsrealtime.Client.exceptions.PendingVerification"