
    i:                    r   S r SSKJr  SSKJr  SSKJrJrJr  SSKrSSK	r	SSK
JrJrJr  SSKJr  SSKJr  SS	KJrJrJr  S
SKJr   " S S\5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r  " S S5      r! " S  S!5      r" " S" S#5      r# " S$ S%5      r$ " S& S'5      r% " S( S)5      r& " S* S+5      r' " S, S-5      r( " S. S/5      r) " S0 S15      r* " S2 S35      r+ " S4 S55      r, " S6 S75      r- " S8 S95      r. " S: S;5      r/g)<a  
Manage lifecycle of your Cloud resources using Resource Controller APIs. Resources are
provisioned globally in an account scope. Supports asynchronous provisioning of resources.
Enables consumption of a global resource through a Cloud Foundry space in any region.

API Version: 2.0
    )datetime)Enum)DictListOptionalN)BaseServiceDetailedResponseget_query_param)Authenticator)"get_authenticator_from_environment)convert_modeldatetime_to_stringstring_to_datetime   )get_sdk_headersc                      \ rS rSrSrSrSr\\4S\SS 4S jj5       r	 SSS	\
SS4S
 jjrSSSSSSSSSSSSS.S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\4S jjrSSSSS.S\S\S\S\S\\\      S\\   S\\   S\\   S\4S  jjrS!\S\4S" jrSS#.S!\S$\\   S\4S% jjrSSSSS&.S!\S\\   S\\   S\\   S\\   S\4S' jjrSSS(.S!\S\\   S\\   S\4S) jjrSSS(.S!\S\\   S\\   S\4S* jjrS!\S\4S+ jrS!\S\4S, jrS!\S\4S- jrSSSSSSSSS..S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\4S/ jjrSSS0.S\S1\S\S2   S3\\   S\4
S4 jjrS!\S\4S5 jrS!\S\4S6 jrS!\S\S\4S7 jr SSSSSSSSSS8.	S\\   S\\   S\\   S\\   S9\\   S\\   S\\   S\\   S\\   S\4S: jjr!SSSS;.S1\S\S\\   S\S<   S3\\   S\4S= jjr"S!\S\4S> jr#S!\S\4S? jr$S!\S\S\4S@ jr%SSSSSSSSSSSA.
S\\   S\\   SB\\   SC\\   S\\   S\\   S\\   S\\   S\\   S\\   S\4SD jjr&S\S1\S\S\4SE jr'S!\S\4SF jr(SS#.S!\S$\\   S\4SG jjr)S!\S\S\4SH jr*SSS(.S!\S\\   S\\   S\4SI jjr+SSSSJ.SK\\   SB\\   S\\   S\4SL jjr,SSSM.S!\SN\SO\\   SP\\   S\4
SQ jjr-SRr.g)TResourceControllerV2-   z#The resource_controller V2 service.z)https://resource-controller.cloud.ibm.comresource_controllerservice_namereturnc                 N    [        U5      nU " U5      nUR                  U5        U$ )z{
Return a new client for the resource_controller service using the specified
       parameters and external configuration.
)r   configure_service)clsr   authenticatorservices       f/home/james-whalen/.local/lib/python3.13/site-packages/ibm_platform_services/resource_controller_v2.pynew_instance!ResourceControllerV2.new_instance3   s+     ;<Hm$!!,/    Nr   c                 B    [         R                  " X R                  US9  g)a:  
Construct a new client for the resource_controller service.

:param Authenticator authenticator: The authenticator specifies the authentication mechanism.
       Get up to date information from https://github.com/IBM/python-sdk-core/blob/main/README.md
       about initializing the authenticator of your choice.
)service_urlr   N)r   __init__DEFAULT_SERVICE_URL)selfr   s     r   r#   ResourceControllerV2.__init__A   s     	T/G/GWder    guidnameresource_group_idresource_idresource_plan_idtypesub_typelimitstartstateupdated_from
updated_tor(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   c                   0 n[        U R                  SSS9nUR                  U5        UUUUUUUUU	U
UUS.nSU;   a#  UR                  UR                  S5      5        US	 SUS'   SnU R	                  S	UUUS
9nU R
                  " U40 UD6nU$ )a8  
Get a list of all resource instances.

View a list of all available resource instances. Resources is a broad term that
could mean anything from a service instance to a virtual machine associated with
the customer account.

:param str guid: (optional) The GUID of the instance.
:param str name: (optional) The human-readable name of the instance.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_id: (optional) The unique ID of the offering. This
       value is provided by and stored in the global catalog.
:param str resource_plan_id: (optional) The unique ID of the plan
       associated with the offering. This value is provided by and stored in the
       global catalog.
:param str type: (optional) The type of the instance, for example,
       `service_instance`.
:param str sub_type: (optional) The sub-type of instance, for example,
       `kms`.
:param int limit: (optional) Limit on how many items should be returned.
:param str start: (optional) An optional token that indicates the beginning
       of the page of results to be returned. Any additional query parameters are
       ignored if a page token is present. If omitted, the first page of results
       is returned. This value is obtained from the 'start' query parameter in the
       'next_url' field of the operation response.
:param str state: (optional) The state of the instance. If not specified,
       instances in state `active` and `provisioning` are returned.
:param str updated_from: (optional) Start date inclusive filter.
:param str updated_to: (optional) End date inclusive filter.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceInstancesList` object
V2list_resource_instancesr   service_versionoperation_idr'   headersapplication/jsonAccept/v2/resource_instancesGETmethodurlr:   paramsr   DEFAULT_SERVICE_NAMEupdategetprepare_requestsend)r%   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   kwargsr:   sdk_headersrB   rA   requestresponses                       r   r6   ,ResourceControllerV2.list_resource_instancesR   s    f %22 2

 	{# !2& 0 ($
 NN6::i01y!.&&&	 ' 
 99W//r    )tagsallow_cleanup
parametersentity_locktargetresource_grouprN   rO   rP   rQ   c                   Uc  [        S5      eUc  [        S5      eUc  [        S5      eUc  [        S5      eSU0n
[        U R                  SSS9nU
R                  U5        UUUUUUUS	.nUR	                  5        VVs0 s H  u  pUc  M
  X_M     nnn[
        R                  " U5      nS
U
S'   SU	;   a#  U
R                  U	R                  S5      5        U	S	 S
U
S'   SnU R                  SUU
US9nU R                  " U40 U	D6nU$ s  snnf )ax  
Create (provision) a new resource instance.

When you provision a service you get an instance of that service. An instance
represents the resource with which you create, and additionally, represents a
chargeable record of which billing can occur.

:param str name: The name of the instance. Must be 180 characters or less
       and cannot include any special characters other than `(space) - . _ :`.
:param str target: The deployment location where the instance should be
       hosted.
:param str resource_group: The ID of the resource group.
:param str resource_plan_id: The unique ID of the plan associated with the
       offering. This value is provided by and stored in the global catalog.
:param List[str] tags: (optional) Tags that are attached to the instance
       after provisioning. These tags can be searched and managed through the
       Tagging API in IBM Cloud.
:param bool allow_cleanup: (optional) A boolean that dictates if the
       resource instance should be deleted (cleaned up) during the processing of a
       region instance delete call.
:param dict parameters: (optional) Configuration options represented as
       key-value pairs that are passed through to the target resource brokers. Set
       the `onetime_credentials` property to specify whether newly created
       resource key credentials can be retrieved by using get resource key or get
       a list of all of the resource keys requests.
:param bool entity_lock: (optional) Indicates if the resource instance is
       locked for further update or delete operations. It does not affect actions
       performed on child resources like aliases, bindings or keys. False by
       default.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceInstance` object
name must be providedtarget must be providedzresource_group must be providedz!resource_plan_id must be providedzEntity-Lockr5   create_resource_instancer7   )r)   rR   rS   r,   rN   rO   rP   r;   content-typer:   r<   r=   POSTr@   rA   r:   data)

ValueErrorr   rD   rE   itemsjsondumpsrF   rG   rH   )r%   r)   rR   rS   r,   rN   rO   rP   rQ   rI   r:   rJ   r[   kvrA   rK   rL   s                     r   rW   -ResourceControllerV2.create_resource_instance   sO   ^ <455>677!>??#@AA;
 &22 3

 	{# , 0*$
 $(::<A<!1<Azz$"4NN6::i01y!.&&&	 ' 
 99W//% Bs    	DDidc                    U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU;   a#  UR                  UR	                  S5      5        US	 SUS'   S/nU R                  U5      n[        [        XV5      5      nS	R                  " S0 UD6nU R                  S
UUS9n	U R                  " U	40 UD6n
U
$ )a  
Get a resource instance.

Retrieve a resource instance by URL-encoded CRN or GUID. Find more details on a
particular instance, like when it was provisioned and who provisioned it.

:param str id: The resource instance URL-encoded CRN or GUID.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceInstance` object
id must be providedr5   get_resource_instancer7   r:   r;   r<   rc   /v2/resource_instances/{id}r>   r@   rA   r:    r\   r   rD   rE   rF   encode_path_varsdictzipformatrG   rH   r%   rc   rI   r:   rJ   path_param_keyspath_param_valuespath_param_dictrA   rK   rL   s              r   rf   *ResourceControllerV2.get_resource_instance
  s    " 233%22 0

 	{#NN6::i01y!.& 11"5s?FG+22E_E&& ' 
 99W//r    )	recursivert   c                   U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU0nSU;   a#  UR                  UR	                  S5      5        US	 S/nU R                  U5      n[        [        Xx5      5      n	SR                  " S0 U	D6n
U R                  S	U
UUS
9nU R                  " U40 UD6nU$ )a3  
Delete a resource instance.

Delete a resource instance by URL-encoded CRN or GUID. If the resource instance
has any resource keys or aliases associated with it, use the `recursive=true`
parameter to delete it.

:param str id: The resource instance URL-encoded CRN or GUID.
:param bool recursive: (optional) Will delete resource bindings, keys and
       aliases associated with the instance.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse
re   r5   delete_resource_instancer7   rt   r:   rc   rg   DELETEr?   ri   rj   r%   rc   rt   rI   r:   rJ   rB   rp   rq   rr   rA   rK   rL   s                r   rv   -ResourceControllerV2.delete_resource_instance7  s    , 233%22 3

 	{# 
 NN6::i01y!& 11"5s?FG+22E_E&&	 ' 
 99W//r    r)   rP   r,   rO   c                6   U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        UUUUS.n	U	R	                  5        V
Vs0 s H  u  pUc  M
  X_M     n	n
n[
        R                  " U	5      n	SUS'   SU;   a#  UR                  UR                  S5      5        US	 SUS	'   S
/nU R                  U5      n[        [        X5      5      nSR                  " S0 UD6nU R                  SUUU	S9nU R                  " U40 UD6nU$ s  snn
f )a  
Update a resource instance.

Use the resource instance URL-encoded CRN or GUID to make updates to the resource
instance, like changing the name or plan.

:param str id: The resource instance URL-encoded CRN or GUID.
:param str name: (optional) The new name of the instance. Must be 180
       characters or less and cannot include any special characters other than
       `(space) - . _ :`.
:param dict parameters: (optional) The new configuration options for the
       instance. Set the `onetime_credentials` property to specify whether newly
       created resource key credentials can be retrieved by using get resource key
       or get a list of all of the resource keys requests.
:param str resource_plan_id: (optional) The unique ID of the plan
       associated with the offering. This value is provided by and stored in the
       global catalog.
:param bool allow_cleanup: (optional) A boolean that dictates if the
       resource instance should be deleted (cleaned up) during the processing of a
       region instance delete call.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceInstance` object
re   r5   update_resource_instancer7   rz   r;   rX   r:   r<   rc   rg   PATCHrZ   ri   r\   r   rD   rE   r]   r^   r_   rF   rk   rl   rm   rn   rG   rH   )r%   rc   r)   rP   r,   rO   rI   r:   rJ   r[   r`   ra   rp   rq   rr   rA   rK   rL   s                     r   r|   -ResourceControllerV2.update_resource_instancem  s;   F 233%22 3

 	{# $ 0*	
 $(::<A<!1<Azz$"4NN6::i01y!.& 11"5s?FG+22E_E&&	 ' 
 99W//+ Bs   	D"Dr/   r0   c                   [         R                  " S5        U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        UUS.nSU;   a#  UR                  UR                  S5      5        US	 SUS	'   S
/nU R                  U5      n	[        [        X5      5      n
SR                  " S0 U
D6nU R                  SUUUS9nU R                  " U40 UD6nU$ )a  
Get a list of all resource aliases for the instance.

Retrieving a list of all resource aliases can help you find out who's using the
resource instance.

:param str id: The resource instance URL-encoded CRN or GUID.
:param int limit: (optional) Limit on how many items should be returned.
:param str start: (optional) An optional token that indicates the beginning
       of the page of results to be returned. Any additional query parameters are
       ignored if a page token is present. If omitted, the first page of results
       is returned. This value is obtained from the 'start' query parameter in the
       'next_url' field of the operation response.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceAliasesList` object

Deprecated: this method is deprecated and may be removed in a future release.
zKA deprecated operation has been invoked: list_resource_aliases_for_instancere   r5   "list_resource_aliases_for_instancer7   r   r:   r;   r<   rc   z,/v2/resource_instances/{id}/resource_aliasesr>   r?   ri   loggingwarningr\   r   rD   rE   rF   rk   rl   rm   rn   rG   rH   r%   rc   r/   r0   rI   r:   rJ   rB   rp   rq   rr   rA   rK   rL   s                 r   r   7ResourceControllerV2.list_resource_aliases_for_instance  s   8 	ef233%22 =

 	{# 

 NN6::i01y!.& 11"5s?FG<CCVoV&&	 ' 
 99W//r    c                   U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        UUS.nSU;   a#  UR                  UR	                  S5      5        US	 SUS'   S	/nU R                  U5      n	[        [        X5      5      n
S
R                  " S0 U
D6nU R                  SUUUS9nU R                  " U40 UD6nU$ )a  
Get a list of all the resource keys for the instance.

You may have many resource keys for one resource instance. For example, you may
have a different resource key for each user or each role.

:param str id: The resource instance URL-encoded CRN or GUID.
:param int limit: (optional) Limit on how many items should be returned.
:param str start: (optional) An optional token that indicates the beginning
       of the page of results to be returned. Any additional query parameters are
       ignored if a page token is present. If omitted, the first page of results
       is returned. This value is obtained from the 'start' query parameter in the
       'next_url' field of the operation response.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceKeysList` object
re   r5   list_resource_keys_for_instancer7   r   r:   r;   r<   rc   z)/v2/resource_instances/{id}/resource_keysr>   r?   ri   rj   r   s                 r   r   4ResourceControllerV2.list_resource_keys_for_instance  s    4 233%22 :

 	{# 

 NN6::i01y!.& 11"5s?FG9@@S?S&&	 ' 
 99W//r    c                    U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU;   a#  UR                  UR	                  S5      5        US	 SUS'   S/nU R                  U5      n[        [        XV5      5      nS	R                  " S0 UD6nU R                  S
UUS9n	U R                  " U	40 UD6n
U
$ )a  
Lock a resource instance.

Locks a resource instance. A locked instance can not be updated or deleted. It
does not affect actions performed on child resources like aliases, bindings, or
keys.

:param str id: The resource instance URL-encoded CRN or GUID.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceInstance` object
re   r5   lock_resource_instancer7   r:   r;   r<   rc    /v2/resource_instances/{id}/lockrY   rh   ri   rj   ro   s              r   r   +ResourceControllerV2.lock_resource_instance3  s    $ 233%22 1

 	{#NN6::i01y!.& 11"5s?FG077J/J&& ' 
 99W//r    c                    U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU;   a#  UR                  UR	                  S5      5        US	 SUS'   S/nU R                  U5      n[        [        XV5      5      nS	R                  " S0 UD6nU R                  S
UUS9n	U R                  " U	40 UD6n
U
$ )a  
Unlock a resource instance.

Unlock a resource instance to update or delete it. Unlocking a resource instance
does not affect child resources like aliases, bindings or keys.

:param str id: The resource instance URL-encoded CRN or GUID.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceInstance` object
re   r5   unlock_resource_instancer7   r:   r;   r<   rc   r   rw   rh   ri   rj   ro   s              r   r   -ResourceControllerV2.unlock_resource_instancea  s    " 233%22 3

 	{#NN6::i01y!.& 11"5s?FG077J/J&& ' 
 99W//r    c                    U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU;   a#  UR                  UR	                  S5      5        US	 SUS'   S/nU R                  U5      n[        [        XV5      5      nS	R                  " S0 UD6nU R                  S
UUS9n	U R                  " U	40 UD6n
U
$ )a  
Cancel the in progress last operation of the resource instance.

Cancel the in progress last operation of the resource instance. After successful
cancellation, the resource instance is removed.

:param str id: The resource instance URL-encoded CRN or GUID.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceInstance` object
re   r5   cancel_lastop_resource_instancer7   r:   r;   r<   rc   z*/v2/resource_instances/{id}/last_operationrw   rh   ri   rj   ro   s              r   r   4ResourceControllerV2.cancel_lastop_resource_instance  s    " 233%22 :

 	{#NN6::i01y!.& 11"5s?FG:AATOT&& ' 
 99W//r    r(   r)   r*   r+   r/   r0   r2   r3   c          	         0 n
[        U R                  SSS9nU
R                  U5        UUUUUUUUS.nSU	;   a#  U
R                  U	R                  S5      5        U	S	 SU
S'   SnU R	                  S	UU
US
9nU R
                  " U40 U	D6nU$ )a  
Get a list of all of the resource keys.

View all of the resource keys that exist for all of your resource instances.

:param str guid: (optional) The GUID of the key.
:param str name: (optional) The human-readable name of the key.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_id: (optional) The unique ID of the offering. This
       value is provided by and stored in the global catalog.
:param int limit: (optional) Limit on how many items should be returned.
:param str start: (optional) An optional token that indicates the beginning
       of the page of results to be returned. Any additional query parameters are
       ignored if a page token is present. If omitted, the first page of results
       is returned. This value is obtained from the 'start' query parameter in the
       'next_url' field of the operation response.
:param str updated_from: (optional) Start date inclusive filter.
:param str updated_to: (optional) End date inclusive filter.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceKeysList` object
r5   list_resource_keysr7   r   r:   r;   r<   /v2/resource_keysr>   r?   rC   )r%   r(   r)   r*   r+   r/   r0   r2   r3   rI   r:   rJ   rB   rA   rK   rL   s                   r   r   'ResourceControllerV2.list_resource_keys  s    H %22 -

 	{# !2&($	
 NN6::i01y!.!&&	 ' 
 99W//r    )rP   rolesourceResourceKeyPostParametersr   c                   Uc  [        S5      eUc  [        S5      eUb  [        U5      n0 n[        U R                  SSS9nUR	                  U5        UUUUS.nUR                  5        V	V
s0 s H  u  pU
c  M
  X_M     nn	n
[        R                  " U5      nSUS'   S	U;   a#  UR	                  UR                  S	5      5        US		 SUS
'   SnU R                  SUUUS9nU R                  " U40 UD6nU$ s  sn
n	f )ur  
Create a new resource key.

A resource key is a saved credential you can use to authenticate with a resource
instance.

:param str name: The name of the key.
:param str source: The ID of resource instance or alias.
:param ResourceKeyPostParameters parameters: (optional) Configuration
       options represented as key-value pairs. Service defined options are passed
       through to the target resource brokers, whereas platform defined options
       are not.
:param str role: (optional) The base IAM service role name (Reader, Writer,
       or Manager), or the service or custom role CRN. Refer to service’s
       documentation for supported roles.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceKey` object
rU   source must be providedr5   create_resource_keyr7   )r)   r   rP   r   r;   rX   r:   r<   r   rY   rZ   )r\   r   r   rD   rE   r]   r^   r_   rF   rG   rH   )r%   r)   r   rP   r   rI   r:   rJ   r[   r`   ra   rA   rK   rL   s                 r   r   (ResourceControllerV2.create_resource_key  s(   : <455>677!&z2J%22 .

 	{# $	
 $(::<A<!1<Azz$"4NN6::i01y!.!&&	 ' 
 99W//% Bs   -	C5:C5c                    U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU;   a#  UR                  UR	                  S5      5        US	 SUS'   S/nU R                  U5      n[        [        XV5      5      nS	R                  " S0 UD6nU R                  S
UUS9n	U R                  " U	40 UD6n
U
$ )a  
Get resource key.

View the details of a resource key by URL-encoded CRN or GUID, like the
credentials for the key and who created it.

:param str id: The resource key URL-encoded CRN or GUID.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceKey` object
re   r5   get_resource_keyr7   r:   r;   r<   rc   /v2/resource_keys/{id}r>   rh   ri   rj   ro   s              r   r   %ResourceControllerV2.get_resource_keyK  s    " 233%22 +

 	{#NN6::i01y!.& 11"5s?FG&--@@&& ' 
 99W//r    c                    U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU;   a#  UR                  UR	                  S5      5        US	 S/nU R                  U5      n[        [        XV5      5      nSR                  " S
0 UD6nU R                  SUUS	9n	U R                  " U	40 UD6n
U
$ )ae  
Delete a resource key.

Deleting a resource key does not affect any resource instance or resource alias
associated with the key.

:param str id: The resource key URL-encoded CRN or GUID.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse
re   r5   delete_resource_keyr7   r:   rc   r   rw   rh   ri   rj   ro   s              r   r   (ResourceControllerV2.delete_resource_keyx  s    " 233%22 .

 	{#NN6::i01y!& 11"5s?FG&--@@&& ' 
 99W//r    c                 L   U(       d  [        S5      eUc  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU0nUR	                  5        VVs0 s H  u  pxUc  M
  Xx_M     nnn[
        R                  " U5      nSUS'   S	U;   a#  UR                  UR                  S	5      5        US		 SUS
'   S/n	U R                  U5      n
[        [        X5      5      nSR                  " S0 UD6nU R                  SUUUS9nU R                  " U40 UD6nU$ s  snnf )a  
Update a resource key.

Use the resource key URL-encoded CRN or GUID to update the resource key.

:param str id: The resource key URL-encoded CRN or GUID.
:param str name: The new name of the key. Must be 180 characters or less
       and cannot include any special characters other than `(space) - . _ :`.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceKey` object
re   rU   r5   update_resource_keyr7   r)   r;   rX   r:   r<   rc   r   r}   rZ   ri   r~   r%   rc   r)   rI   r:   rJ   r[   r`   ra   rp   rq   rr   rA   rK   rL   s                  r   r   (ResourceControllerV2.update_resource_key  sD   & 233<455%22 .

 	{# D
 $(::<A<!1<Azz$"4NN6::i01y!.& 11"5s?FG&--@@&&	 ' 
 99W//+ Bs    	D -D 	r(   r)   r*   r+   region_binding_idr/   r0   r2   r3   r   c       	   
      D   [         R                  " S5        0 n[        U R                  SSS9nUR	                  U5        UUUUUUUUU	S.	nSU
;   a#  UR	                  U
R                  S5      5        U
S	 SUS'   S	nU R                  S
UUUS9nU R                  " U40 U
D6nU$ )a  
Get a list of all resource bindings.

View all of the resource bindings that exist for all of your resource aliases.

:param str guid: (optional) The GUID of the binding.
:param str name: (optional) The human-readable name of the binding.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_id: (optional) The unique ID of the offering (service
       name). This value is provided by and stored in the global catalog.
:param str region_binding_id: (optional) The ID of the binding in the
       target environment. For example, `service_binding_id` in a given IBM Cloud
       environment.
:param int limit: (optional) Limit on how many items should be returned.
:param str start: (optional) An optional token that indicates the beginning
       of the page of results to be returned. Any additional query parameters are
       ignored if a page token is present. If omitted, the first page of results
       is returned. This value is obtained from the 'start' query parameter in the
       'next_url' field of the operation response.
:param str updated_from: (optional) Start date inclusive filter.
:param str updated_to: (optional) End date inclusive filter.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceBindingsList` object

Deprecated: this method is deprecated and may be removed in a future release.
z?A deprecated operation has been invoked: list_resource_bindingsr5   list_resource_bindingsr7   r   r:   r;   r<   /v2/resource_bindingsr>   r?   r   r   r   rD   rE   rF   rG   rH   )r%   r(   r)   r*   r+   r   r/   r0   r2   r3   rI   r:   rJ   rB   rA   rK   rL   s                    r   r   +ResourceControllerV2.list_resource_bindings  s    T 	YZ%22 1

 	{# !2&!2($

 NN6::i01y!.%&&	 ' 
 99W//r    )r)   rP   r   ResourceBindingPostParametersc                $   [         R                  " S5        Uc  [        S5      eUc  [        S5      eUb  [        U5      n0 n[	        U R
                  SSS9nUR                  U5        UUUUUS.n	U	R                  5        V
Vs0 s H  u  pUc  M
  X_M     n	n
n[        R                  " U	5      n	SUS	'   S
U;   a#  UR                  UR                  S
5      5        US
	 SUS'   SnU R                  SUUU	S9nU R                  " U40 UD6nU$ s  snn
f )u  
Create a new resource binding.

A resource binding connects credentials to a resource alias. The credentials are
in the form of a resource key.

:param str source: The ID of resource alias.
:param str target: The CRN of application to bind to in a specific
       environment, for example, Dallas YP, CFEE instance.
:param str name: (optional) The name of the binding. Must be 180 characters
       or less and cannot include any special characters other than `(space) - . _
       :`.
:param ResourceBindingPostParameters parameters: (optional) Configuration
       options represented as key-value pairs. Service defined options are passed
       through to the target resource brokers, whereas platform defined options
       are not.
:param str role: (optional) The base IAM service role name (Reader, Writer,
       or Manager), or the service or custom role CRN. Refer to service’s
       documentation for supported roles.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceBinding` object

Deprecated: this method is deprecated and may be removed in a future release.
z@A deprecated operation has been invoked: create_resource_bindingr   rV   r5   create_resource_bindingr7   )r   rR   r)   rP   r   r;   rX   r:   r<   r   rY   rZ   )r   r   r\   r   r   rD   rE   r]   r^   r_   rF   rG   rH   )r%   r   rR   r)   rP   r   rI   r:   rJ   r[   r`   ra   rA   rK   rL   s                  r   r   ,ResourceControllerV2.create_resource_binding1  s9   H 	Z[>677>677!&z2J%22 2

 	{# $
 $(::<A<!1<Azz$"4NN6::i01y!.%&&	 ' 
 99W//% Bs   	DDc                    [         R                  " S5        U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU;   a#  UR                  UR                  S5      5        US	 SUS'   S	/nU R                  U5      n[        [        XV5      5      nS
R                  " S0 UD6nU R                  SUUS9n	U R                  " U	40 UD6n
U
$ )a  
Get a resource binding.

View a resource binding and all of its details, like who created it, the
credential, and the resource alias that the binding is associated with.

:param str id: The resource binding URL-encoded CRN or GUID.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceBinding` object

Deprecated: this method is deprecated and may be removed in a future release.
z=A deprecated operation has been invoked: get_resource_bindingre   r5   get_resource_bindingr7   r:   r;   r<   rc   /v2/resource_bindings/{id}r>   rh   ri   r   ro   s              r   r   )ResourceControllerV2.get_resource_binding  s    & 	WX233%22 /

 	{#NN6::i01y!.& 11"5s?FG*11DOD&& ' 
 99W//r    c                    [         R                  " S5        U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU;   a#  UR                  UR                  S5      5        US	 S/nU R                  U5      n[        [        XV5      5      nSR                  " S0 UD6nU R                  S	UUS
9n	U R                  " U	40 UD6n
U
$ )a  
Delete a resource binding.

Deleting a resource binding does not affect the resource alias that the binding is
associated with.

:param str id: The resource binding URL-encoded CRN or GUID.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse

Deprecated: this method is deprecated and may be removed in a future release.
z@A deprecated operation has been invoked: delete_resource_bindingre   r5   delete_resource_bindingr7   r:   rc   r   rw   rh   ri   r   ro   s              r   r   ,ResourceControllerV2.delete_resource_binding  s    & 	Z[233%22 2

 	{#NN6::i01y!& 11"5s?FG*11DOD&& ' 
 99W//r    c                 x   [         R                  " S5        U(       d  [        S5      eUc  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU0nUR                  5        VVs0 s H  u  pxUc  M
  Xx_M     nnn[        R                  " U5      nSUS	'   S
U;   a#  UR                  UR                  S
5      5        US
	 SUS'   S/n	U R                  U5      n
[        [        X5      5      nSR                  " S0 UD6nU R                  SUUUS9nU R                  " U40 UD6nU$ s  snnf )a  
Update a resource binding.

Use the resource binding URL-encoded CRN or GUID to update the resource binding.

:param str id: The resource binding URL-encoded CRN or GUID.
:param str name: The new name of the binding. Must be 180 characters or
       less and cannot include any special characters other than `(space) - . _
       :`.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceBinding` object

Deprecated: this method is deprecated and may be removed in a future release.
z@A deprecated operation has been invoked: update_resource_bindingre   rU   r5   update_resource_bindingr7   r)   r;   rX   r:   r<   rc   r   r}   rZ   ri   r   r   r\   r   rD   rE   r]   r^   r_   rF   rk   rl   rm   rn   rG   rH   r   s                  r   r   ,ResourceControllerV2.update_resource_binding  sQ   , 	Z[233<455%22 2

 	{# D
 $(::<A<!1<Azz$"4NN6::i01y!.& 11"5s?FG*11DOD&&	 ' 
 99W//+ B   6	D6D6
r(   r)   resource_instance_idregion_instance_idr+   r*   r/   r0   r2   r3   r   r   c       
         F   [         R                  " S5        0 n[        U R                  SSS9nUR	                  U5        UUUUUUUUU	U
S.
nSU;   a#  UR	                  UR                  S5      5        US	 SUS'   S	nU R                  S
UUUS9nU R                  " U40 UD6nU$ )a6  
Get a list of all resource aliases.

View all of the resource aliases that exist for every resource instance.

:param str guid: (optional) The GUID of the alias.
:param str name: (optional) The human-readable name of the alias.
:param str resource_instance_id: (optional) The ID of the resource
       instance.
:param str region_instance_id: (optional) The ID of the instance in the
       target environment. For example, `service_instance_id` in a given IBM Cloud
       environment.
:param str resource_id: (optional) The unique ID of the offering (service
       name). This value is provided by and stored in the global catalog.
:param str resource_group_id: (optional) The ID of the resource group.
:param int limit: (optional) Limit on how many items should be returned.
:param str start: (optional) An optional token that indicates the beginning
       of the page of results to be returned. Any additional query parameters are
       ignored if a page token is present. If omitted, the first page of results
       is returned. This value is obtained from the 'start' query parameter in the
       'next_url' field of the operation response.
:param str updated_from: (optional) Start date inclusive filter.
:param str updated_to: (optional) End date inclusive filter.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceAliasesList` object

Deprecated: this method is deprecated and may be removed in a future release.
z>A deprecated operation has been invoked: list_resource_aliasesr5   list_resource_aliasesr7   r   r:   r;   r<   /v2/resource_aliasesr>   r?   r   )r%   r(   r)   r   r   r+   r*   r/   r0   r2   r3   rI   r:   rJ   rB   rA   rK   rL   s                     r   r   *ResourceControllerV2.list_resource_aliases#  s    Z 	XY%22 0

 	{# $8"4&!2($
 NN6::i01y!.$&&	 ' 
 99W//r    c                     [         R                  " S5        Uc  [        S5      eUc  [        S5      eUc  [        S5      e0 n[        U R                  SSS9nUR                  U5        UUUS.nUR                  5        VV	s0 s H  u  pU	c  M
  X_M     nnn	[        R                  " U5      nS	US
'   SU;   a#  UR                  UR                  S5      5        US	 S	US'   Sn
U R                  SU
UUS9nU R                  " U40 UD6nU$ s  sn	nf )a  
Create a new resource alias.

Alias a resource instance into a targeted environment's (name)space.

:param str name: The name of the alias. Must be 180 characters or less and
       cannot include any special characters other than `(space) - . _ :`.
:param str source: The ID of resource instance.
:param str target: The CRN of target name(space) in a specific environment,
       for example, space in Dallas YP, CFEE instance etc.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceAlias` object

Deprecated: this method is deprecated and may be removed in a future release.
z>A deprecated operation has been invoked: create_resource_aliasrU   r   rV   r5   create_resource_aliasr7   )r)   r   rR   r;   rX   r:   r<   r   rY   rZ   )r   r   r\   r   rD   rE   r]   r^   r_   rF   rG   rH   )r%   r)   r   rR   rI   r:   rJ   r[   r`   ra   rA   rK   rL   s                r   r   *ResourceControllerV2.create_resource_aliasw  s3   0 	XY<455>677>677%22 0

 	{# 

 $(::<A<!1<Azz$"4NN6::i01y!.$&&	 ' 
 99W//% Bs   	D
D
c                    [         R                  " S5        U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU;   a#  UR                  UR                  S5      5        US	 SUS'   S	/nU R                  U5      n[        [        XV5      5      nS
R                  " S0 UD6nU R                  SUUS9n	U R                  " U	40 UD6n
U
$ )a  
Get a resource alias.

View a resource alias and all of its details, like who created it and the resource
instance that it's associated with.

:param str id: The resource alias URL-encoded CRN or GUID.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceAlias` object

Deprecated: this method is deprecated and may be removed in a future release.
z;A deprecated operation has been invoked: get_resource_aliasre   r5   get_resource_aliasr7   r:   r;   r<   rc   /v2/resource_aliases/{id}r>   rh   ri   r   ro   s              r   r   'ResourceControllerV2.get_resource_alias  s    & 	UV233%22 -

 	{#NN6::i01y!.& 11"5s?FG)00C?C&& ' 
 99W//r    c                   [         R                  " S5        U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU0nSU;   a#  UR                  UR                  S5      5        US	 S/nU R                  U5      n[        [        Xx5      5      n	S	R                  " S0 U	D6n
U R                  S
U
UUS9nU R                  " U40 UD6nU$ )ak  
Delete a resource alias.

Delete a resource alias by URL-encoded CRN or GUID. If the resource alias has any
resource keys or bindings associated with it, use the `recursive=true` parameter
to delete it.

:param str id: The resource alias URL-encoded CRN or GUID.
:param bool recursive: (optional) Deletes the resource bindings and keys
       associated with the alias.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse

Deprecated: this method is deprecated and may be removed in a future release.
z>A deprecated operation has been invoked: delete_resource_aliasre   r5   delete_resource_aliasr7   rt   r:   rc   r   rw   r?   ri   r   rx   s                r   r   *ResourceControllerV2.delete_resource_alias  s    0 	XY233%22 0

 	{# 
 NN6::i01y!& 11"5s?FG)00C?C&&	 ' 
 99W//r    c                 x   [         R                  " S5        U(       d  [        S5      eUc  [        S5      e0 n[        U R                  SSS9nUR                  U5        SU0nUR                  5        VVs0 s H  u  pxUc  M
  Xx_M     nnn[        R                  " U5      nSUS	'   S
U;   a#  UR                  UR                  S
5      5        US
	 SUS'   S/n	U R                  U5      n
[        [        X5      5      nSR                  " S0 UD6nU R                  SUUUS9nU R                  " U40 UD6nU$ s  snnf )ao  
Update a resource alias.

Use the resource alias URL-encoded CRN or GUID to update the resource alias.

:param str id: The resource alias URL-encoded CRN or GUID.
:param str name: The new name of the alias. Must be 180 characters or less
       and cannot include any special characters other than `(space) - . _ :`.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceAlias` object

Deprecated: this method is deprecated and may be removed in a future release.
z>A deprecated operation has been invoked: update_resource_aliasre   rU   r5   update_resource_aliasr7   r)   r;   rX   r:   r<   rc   r   r}   rZ   ri   r   r   s                  r   r   *ResourceControllerV2.update_resource_alias#  sQ   * 	XY233<455%22 0

 	{# D
 $(::<A<!1<Azz$"4NN6::i01y!.& 11"5s?FG)00C?C&&	 ' 
 99W//+ Br   c                   [         R                  " S5        U(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        UUS.nSU;   a#  UR                  UR                  S5      5        US	 SUS	'   S
/nU R                  U5      n	[        [        X5      5      n
SR                  " S0 U
D6nU R                  SUUUS9nU R                  " U40 UD6nU$ )a  
Get a list of all resource bindings for the alias.

View all of the resource bindings associated with a specific resource alias.

:param str id: The resource alias URL-encoded CRN or GUID.
:param int limit: (optional) Limit on how many items should be returned.
:param str start: (optional) An optional token that indicates the beginning
       of the page of results to be returned. Any additional query parameters are
       ignored if a page token is present. If omitted, the first page of results
       is returned. This value is obtained from the 'start' query parameter in the
       'next_url' field of the operation response.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ResourceBindingsList` object

Deprecated: this method is deprecated and may be removed in a future release.
zIA deprecated operation has been invoked: list_resource_bindings_for_aliasre   r5    list_resource_bindings_for_aliasr7   r   r:   r;   r<   rc   z+/v2/resource_aliases/{id}/resource_bindingsr>   r?   ri   r   r   s                 r   r   5ResourceControllerV2.list_resource_bindings_for_alias`  s   6 	cd233%22 ;

 	{# 

 NN6::i01y!.& 11"5s?FG;BBU_U&&	 ' 
 99W//r    
account_idr   r*   r   c                   0 n[        U R                  SSS9nUR                  U5        UUUS.nSU;   a#  UR                  UR                  S5      5        US	 SUS'   SnU R	                  S	UUUS
9n	U R
                  " U	40 UD6n
U
$ )aO  
Get a list of all reclamations.

View all of the resource reclamations that exist for every resource instance.

:param str account_id: (optional) An alpha-numeric value identifying the
       account ID.
:param str resource_instance_id: (optional) The GUID of the resource
       instance.
:param str resource_group_id: (optional) The ID of the resource group.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `ReclamationsList` object
r5   list_reclamationsr7   r   r:   r;   r<   z/v1/reclamationsr>   r?   rC   )r%   r   r   r*   rI   r:   rJ   rB   rA   rK   rL   s              r   r   &ResourceControllerV2.list_reclamations  s    . %22 ,

 	{# %$8!2
 NN6::i01y!. &&	 ' 
 99W//r    
request_bycommentaction_namer   r   c                X   U(       d  [        S5      eU(       d  [        S5      e0 n[        U R                  SSS9nUR                  U5        UUS.nUR	                  5        V	V
s0 s H  u  pU
c  M
  X_M     nn	n
[
        R                  " U5      nSUS'   S	U;   a#  UR                  UR                  S	5      5        US		 SUS
'   SS/nU R                  X5      n[        [        X5      5      nSR                  " S0 UD6nU R                  SUUUS9nU R                  " U40 UD6nU$ s  sn
n	f )a  
Perform a reclamation action.

Reclaim a resource instance so that it can no longer be used, or restore the
resource instance so that it's usable again.

:param str id: The ID associated with the reclamation.
:param str action_name: The reclamation action name. Specify `reclaim` to
       delete a resource, or `restore` to restore a resource.
:param str request_by: (optional) The request initiator, if different from
       the request token.
:param str comment: (optional) A comment to describe the action.
:param dict headers: A `dict` containing the request headers
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
:rtype: DetailedResponse with `dict` result representing a `Reclamation` object
re   zaction_name must be providedr5   run_reclamation_actionr7   r   r;   rX   r:   r<   rc   r   z+/v1/reclamations/{id}/actions/{action_name}rY   rZ   ri   r~   )r%   rc   r   r   r   rI   r:   rJ   r[   r`   ra   rp   rq   rr   rA   rK   rL   s                    r   r   +ResourceControllerV2.run_reclamation_action  sF   4 233;<<%22 1

 	{# %
 $(::<A<!1<Azz$"4NN6::i01y!./ 11"Bs?FG;BBU_U&&	 ' 
 99W//+ Bs   %	D&2D&ri   )N)/__name__
__module____qualname____firstlineno____doc__r$   rD   classmethodstrr   r   r#   r   intr	   r6   r   boolrl   rW   rf   rv   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__ri   r    r   r   r   -   s	   -E0 1 
   (,f$f 
f( #"+/%)*.""&###&*$(X smX sm	X
 $C=X c]X #3-X smX 3-X }X }X }X smX SMX  
!XB %)(,%)&*\\ \ 	\
 \ tCy!\  ~\ TN\ d^\ 
\|++ 
	+b %)	44 D>	4 
4t #%)*.(,HH sm	H
 TNH #3-H  ~H 
H\  $#>> }	>
 }> 
>H  $#:: }	:
 }: 
:x,, 
	,\++ 
	+Z++ 
	+h #"+/%)##&*$(E smE sm	E
 $C=E c]E }E }E smE SME 
EX =A"CC C
 89C smC 
CJ++ 
	+Z** 
	*X77 7
 
7@ #"+/%)+/##&*$(N smN sm	N
 $C=N c]N $C=N }N }N smN SMN 
Nj #@D"MM M
 smM <=M smM 
M^// 
	/b.. 
	.`<< <
 
<J #".2,0%)+/##&*$(R smR sm	R
 'smR %SMR c]R $C=R }R }R smR SMR 
Rh?? ? 	? 
?B// 
	/j %)	88 D>	8 
8t;; ;
 
;B  $#== }	=
 }= 
=L %).2+/3 SM3 'sm	3
 $C=3 
3t %)!%?? ?
 SM? #? 
? ?r    r   c                   0    \ rS rSrSr " S S\\5      rSrg)ListResourceInstancesEnumsi  z/
Enums for list_resource_instances parameters.
c                   4    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rg) ListResourceInstancesEnums.Statei  zk
The state of the instance. If not specified, instances in state `active` and
`provisioning` are returned.
activeinactivefailedpending_reclamationprovisioningpre_provisioningremovedri   N)r   r   r   r   r   ACTIVEINACTIVEFAILEDPENDING_RECLAMATIONPROVISIONINGPRE_PROVISIONINGREMOVEDr   ri   r    r   Stater     s.    	
 3%-r    r  ri   N)	r   r   r   r   r   r   r   r  r   ri   r    r   r   r     s    T r    r   c                   8   \ rS rSrSr\" / SQ5      rSSSSSSS.S\\   S\\   S\\   S	\\   S
\\   S\\   S\\	   SS4S jjr
\S\SS 4S j5       r\S 5       rS\4S jrS rS\4S jrS\4S jrS\4S jrSS S\4S jrSS S\4S jr " S S\\5      rSrg)Credentialsi3  a  
The credentials for a resource.

:param str redacted: (optional) If present, the user doesn't have the correct
      access to view the credentials and the details are redacted.  The string value
      identifies the level of access that's required to view the credential. For
      additional information, see [viewing a
      credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui).
:param str apikey: (optional) The API key for the credentials.
:param str iam_apikey_description: (optional) The optional description of the
      API key.
:param str iam_apikey_name: (optional) The name of the API key.
:param str iam_role_crn: (optional) The Cloud Resource Name for the role of the
      credentials.
:param str iam_serviceid_crn: (optional) The Cloud Resource Name for the service
      ID of the credentials.

This type supports additional properties of type object. Additional key-value pairs
from the resource broker.
)redactedREDACTEDapikeyiam_apikey_descriptioniam_apikey_nameiam_role_crniam_serviceid_crnN)r  r  r  r	  r
  r  r  r  r  r	  r
  r  rI   r   c                P   Xl         X l        X0l        X@l        XPl        X`l        UR                  5        Hn  u  pU[        R                  ;  a=  [        U	[        5      (       d  [        SR                  U5      5      e[        XU	5        MV  [        SR                  U5      5      e   g)a  
Initialize a Credentials object.

:param str redacted: (optional) If present, the user doesn't have the
       correct access to view the credentials and the details are redacted.  The
       string value identifies the level of access that's required to view the
       credential. For additional information, see [viewing a
       credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui).
:param str apikey: (optional) The API key for the credentials.
:param str iam_apikey_description: (optional) The optional description of
       the API key.
:param str iam_apikey_name: (optional) The name of the API key.
:param str iam_role_crn: (optional) The Cloud Resource Name for the role of
       the credentials.
:param str iam_serviceid_crn: (optional) The Cloud Resource Name for the
       service ID of the credentials.
:param object **kwargs: (optional) Additional key-value pairs from the
       resource broker.
7Value for additional property {} must be of type object9Property {} cannot be specified as an additional propertyN)r  r  r  r	  r
  r  r]   r  _properties
isinstanceobjectr\   rn   setattr)
r%   r  r  r  r	  r
  r  rI   r`   ra   s
             r   r#   Credentials.__init__V  s    < !&<#.(!2LLNDA///!!V,,$%^%e%efg%hii# !\!c!cde!fgg #r    _dictc                    0 nUR                  S5      =nb  X2S'   UR                  S5      =nb  XBS'   UR                  S5      =nb  XRS'   UR                  S5      =nb  XbS'   UR                  S5      =nb  XrS'   UR                  S5      =nb  XS'   UR                  5        HI  u  pXR                  ;  d  M  [        U
[        5      (       d  [        SR                  U	5      5      eXU	'   MK     U " S	0 UD6$ )
7Initialize a Credentials object from a json dictionary.r  r  r  r  r	  r
  r  r  ri   rF   r]   r  r  r  r\   rn   )r   r  argsr  r  r  r	  r
  r  r`   ra   s              r   	from_dictCredentials.from_dict  s    		*--H:'ii))F6#N&+ii0H&II"V-C)*$yy):;;OH&5"#!IIn55LB#/ !&+>!??L(9$%KKMDA'!!V,,$%^%e%efg%hiiQ	 "
 {T{r    c                 $    U R                  U5      $ )r  r  r   r  s     r   
_from_dictCredentials._from_dict       }}U##r    c                    0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R
                  b  U R
                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[        X5      X'   M     U$ s  snf )1Return a json dictionary representing this model.r  r  r  r  r	  r
  r  )hasattrr  r  r  r	  r
  r  varskeysr  r  getattrr%   r  _kr`   s       r   to_dictCredentials.to_dict  s=   4$$)B $E*4""t{{'>"kkE(O4122t7R7R7^.2.I.IE*+4*++0D0D0P'+';';E#$4((T->->-J$($5$5E.!4,--$2H2H2T)-)?)?E%&#Dz0V0k>U>U4U"0VAt'EH W Ws   ,E&E&c                 "    U R                  5       $ r"  r)  r%   s    r   _to_dictCredentials._to_dict      ||~r    c                     0 n[        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[	        X5      X'   M     U$ s  snf )zYReturn the additional properties from this instance of Credentials in the form of a dict.)r$  r%  r  r  r&  r'  s       r   get_propertiesCredentials.get_properties  sP    #Dz0V0k>U>U4U"0VAt'EH W W
   AAc                    [        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[	        X5        M     UR                  5        Hr  u  p4U[        R                  ;  a=  [        U[        5      (       d  [        SR                  U5      5      e[        XU5        MV  [        SR                  [        5      5      e   gs  snf )zISet a dictionary of additional properties in this instance of Credentialsr  r  N)r$  r%  r  r  delattrr]   r  r  r\   rn   r  _keyr%   r  r(  r`   ra   s        r   set_propertiesCredentials.set_properties  s    #Dz0V0k>U>U4U"0VAD WKKMDA///!!V,,$%^%e%efg%hii# !\!c!cdh!ijj " W
   CCc                 H    [         R                  " U R                  5       SS9$ )z2Return a `str` version of this Credentials object.   indentr^   r_   r)  r.  s    r   __str__Credentials.__str__      zz$,,.33r    otherc                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ z=Return `true` when self and other are equal, false otherwise.Fr  	__class____dict__r%   rE  s     r   __eq__Credentials.__eq__  '    %00}}..r    c                     X:X  + $ zAReturn `true` when self and other are not equal, false otherwise.ri   rK  s     r   __ne__Credentials.__ne__        r    c                        \ rS rSrSrSrSrSrg)Credentials.RedactedEnumi  ag  
If present, the user doesn't have the correct access to view the credentials and
the details are redacted.  The string value identifies the level of access that's
required to view the credential. For additional information, see [viewing a
credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui).
r  REDACTED_EXPLICITri   N)r   r   r   r   r   r  rV  r   ri   r    r   RedactedEnumrU    s    	 /r    rW  )r  r  r	  r
  r  r  )r   r   r   r   r   	frozensetr  r   r   r  r#   r   r   r  r  r)  r/  r3  rl   r:  rB  r   rL  rQ  r   rW  r   ri   r    r   r  r  3  sI   , 	

K #' $04)-&*+/*h 3-*h 	*h
 !)*h "#*h sm*h $C=*h 6"*h 
*hX d }  , $ $ & 
kD 
k4 4/M /d /!M !d !	0sD 	0r    r  c            	           \ rS rSrSrSS.S\S\S\\   SS4S	 jjr\	S
\
SS 4S j5       r\	S 5       rS\
4S jrS rS\4S jrSS S\4S jrSS S\4S jrSrg)PlanHistoryItemi  aW  
An element of the plan history of the instance.

:param str resource_plan_id: The unique ID of the plan associated with the
      offering. This value is provided by and stored in the global catalog.
:param datetime start_date: The date on which the plan was changed.
:param str requestor_id: (optional) The subject who made the plan change.
N)requestor_idr,   
start_dater[  r   c                (    Xl         X l        X0l        g)aM  
Initialize a PlanHistoryItem object.

:param str resource_plan_id: The unique ID of the plan associated with the
       offering. This value is provided by and stored in the global catalog.
:param datetime start_date: The date on which the plan was changed.
:param str requestor_id: (optional) The subject who made the plan change.
N)r,   r\  r[  )r%   r,   r\  r[  s       r   r#   PlanHistoryItem.__init__  s     !1$(r    r  c                     0 nUR                  S5      =nb  X2S'   O[        S5      eUR                  S5      =nb  [        U5      US'   O[        S5      eUR                  S5      =nb  XRS'   U " S0 UD6$ );Initialize a PlanHistoryItem object from a json dictionary.r,   zHRequired property 'resource_plan_id' not present in PlanHistoryItem JSONr\  zBRequired property 'start_date' not present in PlanHistoryItem JSONr[  ri   )rF   r\   r   )r   r  r  r,   r\  r[  s         r   r  PlanHistoryItem.from_dict  s      %		*< ==J'7#$ijj))L11J>!3J!?Dcdd!IIn55LB#/ {T{r    c                 $    U R                  U5      $ )r`  r  r  s     r   r  PlanHistoryItem._from_dict  r   r    c                 *   0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a  U R                  b  U R                  US'   U$ )r"  r,   r\  r[  )r#  r,   r\  r   r[  r%   r  s     r   r)  PlanHistoryItem.to_dict  s    4+,,1F1F1R(,(=(=E$%4&&4??+F"4T__"EE,4((T->->-J$($5$5E.!r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  PlanHistoryItem._to_dict  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z6Return a `str` version of this PlanHistoryItem object.r>  r?  rA  r.  s    r   rB  PlanHistoryItem.__str__#  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  PlanHistoryItem.__eq__'  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  PlanHistoryItem.__ne__-  rS  r    )r[  r,   r\  )r   r   r   r   r   r   r   r   r#   r   r   r  r  r)  r/  rB  r   rL  rQ  r   ri   r    r   rZ  rZ    s     '+)) )
 sm) 
)& d '8   $ $	 	4 4/- /$ /!- !$ !r    rZ  c            !       R   \ rS rSrSrSSSSSSSSSSSSSSSS.S\\   S\\   S\\   S\\   S	\\   S
\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   SS4 S jjr	\
S\SS 4S j5       r\
S 5       rS\4S jrS rS\4S jrSS S\4S jrSS S\4S jrSrg) Reclamationi2  a]  
A reclamation.

:param str id: (optional) The ID associated with the reclamation.
:param str entity_id: (optional) The ID of the entity for the reclamation.
:param str entity_type_id: (optional) The ID of the entity type for the
      reclamation.
:param str entity_crn: (optional) The full Cloud Resource Name (CRN) associated
      with the binding. For more information about this format, see [Cloud Resource
      Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str resource_instance_id: (optional) The ID of the resource instance.
:param str resource_group_id: (optional) The ID of the resource group.
:param str account_id: (optional) An alpha-numeric value identifying the account
      ID.
:param str policy_id: (optional) The ID of policy for the reclamation.
:param str state: (optional) The state of the reclamation.
:param str target_time: (optional) The target time that the reclamation
      retention period end.
:param dict custom_properties: (optional) The custom properties of the
      reclamation.
:param datetime created_at: (optional) The date when the reclamation was
      created.
:param str created_by: (optional) The subject who created the reclamation.
:param datetime updated_at: (optional) The date when the reclamation was last
      updated.
:param str updated_by: (optional) The subject who updated the reclamation.
Nrc   	entity_identity_type_id
entity_crnr   r*   r   	policy_idr1   target_timecustom_properties
created_at
created_by
updated_at
updated_byrc   rr  rs  rt  r   r*   r   ru  r1   rv  rw  rx  ry  rz  r{  r   c                    Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        Xl
        Xl        Xl        Xl        Xl        g)a  
Initialize a Reclamation object.

:param str id: (optional) The ID associated with the reclamation.
:param str entity_id: (optional) The ID of the entity for the reclamation.
:param str entity_type_id: (optional) The ID of the entity type for the
       reclamation.
:param str entity_crn: (optional) The full Cloud Resource Name (CRN)
       associated with the binding. For more information about this format, see
       [Cloud Resource
       Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str resource_instance_id: (optional) The ID of the resource
       instance.
:param str resource_group_id: (optional) The ID of the resource group.
:param str account_id: (optional) An alpha-numeric value identifying the
       account ID.
:param str policy_id: (optional) The ID of policy for the reclamation.
:param str state: (optional) The state of the reclamation.
:param str target_time: (optional) The target time that the reclamation
       retention period end.
:param dict custom_properties: (optional) The custom properties of the
       reclamation.
:param datetime created_at: (optional) The date when the reclamation was
       created.
:param str created_by: (optional) The subject who created the reclamation.
:param datetime updated_at: (optional) The date when the reclamation was
       last updated.
:param str updated_by: (optional) The subject who updated the reclamation.
Nrq  )r%   rc   rr  rs  rt  r   r*   r   ru  r1   rv  rw  rx  ry  rz  r{  s                   r   r#   Reclamation.__init__O  sU    ` ",$$8!!2$"
&!2$$$$r    r  c                    0 nUR                  S5      =nb  X2S'   UR                  S5      =nb  XBS'   UR                  S5      =nb  XRS'   UR                  S5      =nb  XbS'   UR                  S5      =nb  XrS'   UR                  S5      =nb  XS'   UR                  S5      =n	b  XS'   UR                  S5      =n
b  XS'   UR                  S	5      =nb  XS	'   UR                  S
5      =nb  XS
'   UR                  S5      =nb  XS'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  XS'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  UUS'   U " S0 UD6$ )7Initialize a Reclamation object from a json dictionary.rc   rr  rs  rt  r   r*   r   ru  r1   rv  rw  rx  ry  rz  r{  ri   rF   r   )r   r  r  rc   rr  rs  rt  r   r*   r   ru  r1   rv  rw  rx  ry  rz  r{  s                     r   r  Reclamation.from_dict  s    ))D/!B.J;//I< )#ii(899NF%3!"))L11J>!+$)II.D$EE R+?'(!&+>!??L(9$%))L11J>!+;//I< )YYw''E4!M 99]33K@"-!&+>!??L(9$%))L11J>!3J!?D))L11J>!+))L11J>!3J!?D))L11J>!+D{T{r    c                 $    U R                  U5      $ )r  r  r  s     r   r  Reclamation._from_dict  r   r    c                 t   0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R
                  b  U R
                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S	5      (       a  U R                  b  U R                  US	'   [        U S
5      (       a  U R                  b  U R                  US
'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a  U R                   b  U R                   US'   U$ )r"  rc   rr  rs  rt  r   r*   r   ru  r1   rv  rw  rx  ry  rz  r{  )r#  rc   rr  rs  rt  r   r*   r   ru  r1   rv  rw  rx  r   ry  rz  r{  re  s     r   r)  Reclamation.to_dict  sL   4477#6''E$K4%%$..*D!%E+4)**t/B/B/N&*&9&9E"#4&&4??+F"&//E,4/00T5N5N5Z,0,E,EE()4,--$2H2H2T)-)?)?E%&4&&4??+F"&//E,4%%$..*D!%E+4!!djj&<!ZZE'N4''D,<,<,H#'#3#3E- 4,--$2H2H2T)-)?)?E%&4&&4??+F"4T__"EE,4&&4??+F"&//E,4&&4??+F"4T__"EE,4&&4??+F"&//E,r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  Reclamation._to_dict  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z2Return a `str` version of this Reclamation object.r>  r?  rA  r.  s    r   rB  Reclamation.__str__  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  Reclamation.__eq__  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  Reclamation.__ne__  rS  r    )r   rx  ry  rw  rt  rr  rs  rc   ru  r*   r   r1   rv  rz  r{  )r   r   r   r   r   r   r   rl   r   r#   r   r   r  r  r)  r/  rB  r   rL  rQ  r   ri   r    r   rp  rp  2  s   > !#'(,$(.2+/$(#'#%),0)-$()-$(#>% SM>% C=	>%
 !>% SM>% 'sm>% $C=>% SM>% C=>% }>% c]>% $D>>% X&>% SM>%  X&!>%" SM#>%$ 
%>%@ !d !} ! !F $ $! !F4 4/M /d /!M !d !r    rp  c                       \ rS rSrSrSS.S\\S      SS4S jjr\S	\	SS 4S
 j5       r
\S 5       rS\	4S jrS rS\4S jrSS S\4S jrSS S\4S jrSrg)ReclamationsListi  za
A list of reclamations.

:param List[Reclamation] resources: (optional) A list of reclamations.
N	resourcesr  rp  r   c                    Xl         g)zo
Initialize a ReclamationsList object.

:param List[Reclamation] resources: (optional) A list of reclamations.
Nr  )r%   r  s     r   r#   ReclamationsList.__init__  s	     #r    r  c                     0 nUR                  S5      =nb)  U Vs/ s H  n[        R                  U5      PM     snUS'   U " S0 UD6$ s  snf )<Initialize a ReclamationsList object from a json dictionary.r  ri   )rF   rp  r  )r   r  r  r  ra   s        r   r  ReclamationsList.from_dict	  sS     ;//I<CL M9a!6!6q!99 MD{T{ !Ns   Ac                 $    U R                  U5      $ )r  r  r  s     r   r  ReclamationsList._from_dict		  r   r    c                    0 n[        U S5      (       am  U R                  b`  / nU R                   HJ  n[        U[        5      (       a  UR	                  U5        M+  UR	                  UR                  5       5        ML     X!S'   U$ )r"  r  )r#  r  r  rl   appendr)  r%   r  resources_listra   s       r   r)  ReclamationsList.to_dict	  sn    4%%$..*DN^^a&&"))!,"))!))+6	 $
 "0+r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  ReclamationsList._to_dict	  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z7Return a `str` version of this ReclamationsList object.r>  r?  rA  r.  s    r   rB  ReclamationsList.__str__	  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  ReclamationsList.__eq__#	  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  ReclamationsList.__ne__)	  rS  r    )r   r   r   r   r   r   r   r#   r   r   r  r  r)  r/  r   rB  r   rL  rQ  r   ri   r    r   r  r    s     48
# D/0
# 
	
# d '9   $ $ 4 4/. /4 /!. !4 !r    r  c            1          \ rS rSrSrSSSSSSSSSSSSSSSSSSSSSSSS.S\\   S\\   S\\   S\\   S	\\   S
\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   SS40S jjr	\
S\SS 4S j5       r\
S  5       rS\4S! jrS" rS\4S# jrS$S S\4S% jrS$S S\4S& jrS'rg)(ResourceAliasi.	  a  
A resource alias.

:param str id: (optional) The ID associated with the alias.
:param str guid: (optional) The GUID of the alias.
:param str url: (optional) When you created a new alias, a relative URL path is
      created identifying the location of the alias.
:param datetime created_at: (optional) The date when the alias was created.
:param datetime updated_at: (optional) The date when the alias was last updated.
:param datetime deleted_at: (optional) The date when the alias was deleted.
:param str created_by: (optional) The subject who created the alias.
:param str updated_by: (optional) The subject who updated the alias.
:param str deleted_by: (optional) The subject who deleted the alias.
:param str name: (optional) The human-readable name of the alias.
:param str resource_instance_id: (optional) The ID of the resource instance that
      is being aliased.
:param str target_crn: (optional) The CRN of the target namespace in the
      specific environment.
:param str account_id: (optional) An alpha-numeric value identifying the account
      ID.
:param str resource_id: (optional) The unique ID of the offering. This value is
      provided by and stored in the global catalog.
:param str resource_group_id: (optional) The ID of the resource group.
:param str crn: (optional) The CRN of the alias. For more information about this
      format, see [Cloud Resource
      Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str region_instance_id: (optional) The ID of the instance in the target
      environment. For example, `service_instance_id` in a given IBM Cloud
      environment.
:param str region_instance_crn: (optional) The CRN of the instance in the target
      environment.
:param str state: (optional) The state of the alias.
:param bool migrated: (optional) A boolean that dictates if the alias was
      migrated from a previous CF instance.
:param str resource_instance_url: (optional) The relative path to the resource
      instance.
:param str resource_bindings_url: (optional) The relative path to the resource
      bindings for the alias.
:param str resource_keys_url: (optional) The relative path to the resource keys
      for the alias.
Nrc   r(   rA   rx  rz  
deleted_atry  r{  
deleted_byr)   r   
target_crnr   r+   r*   crnr   region_instance_crnr1   migratedresource_instance_urlresource_bindings_urlresource_keys_urlrc   r(   rA   rx  rz  r  ry  r{  r  r)   r   r  r   r+   r*   r  r   r  r1   r  r  r  r  r   c                (   Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        Xl
        Xl        Xl        Xl        Xl        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        g)a  
Initialize a ResourceAlias object.

:param str id: (optional) The ID associated with the alias.
:param str guid: (optional) The GUID of the alias.
:param str url: (optional) When you created a new alias, a relative URL
       path is created identifying the location of the alias.
:param datetime created_at: (optional) The date when the alias was created.
:param datetime updated_at: (optional) The date when the alias was last
       updated.
:param datetime deleted_at: (optional) The date when the alias was deleted.
:param str created_by: (optional) The subject who created the alias.
:param str updated_by: (optional) The subject who updated the alias.
:param str deleted_by: (optional) The subject who deleted the alias.
:param str name: (optional) The human-readable name of the alias.
:param str resource_instance_id: (optional) The ID of the resource instance
       that is being aliased.
:param str target_crn: (optional) The CRN of the target namespace in the
       specific environment.
:param str account_id: (optional) An alpha-numeric value identifying the
       account ID.
:param str resource_id: (optional) The unique ID of the offering. This
       value is provided by and stored in the global catalog.
:param str resource_group_id: (optional) The ID of the resource group.
:param str crn: (optional) The CRN of the alias. For more information about
       this format, see [Cloud Resource
       Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str region_instance_id: (optional) The ID of the instance in the
       target environment. For example, `service_instance_id` in a given IBM Cloud
       environment.
:param str region_instance_crn: (optional) The CRN of the instance in the
       target environment.
:param str state: (optional) The state of the alias.
:param bool migrated: (optional) A boolean that dictates if the alias was
       migrated from a previous CF instance.
:param str resource_instance_url: (optional) The relative path to the
       resource instance.
:param str resource_bindings_url: (optional) The relative path to the
       resource bindings for the alias.
:param str resource_keys_url: (optional) The relative path to the resource
       keys for the alias.
Nr  )r%   rc   r(   rA   rx  rz  r  ry  r{  r  r)   r   r  r   r+   r*   r  r   r  r1   r  r  r  r  s                           r   r#   ResourceAlias.__init__Y	  s    J 	$$$$$$	$8!$$&!2"4#6 
 %:"%:"!2r    r  c                    0 nUR                  S5      =nb  X2S'   UR                  S5      =nb  XBS'   UR                  S5      =nb  XRS'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  [        U5      US'   UR                  S5      =n	b  XS'   UR                  S5      =n
b  XS'   UR                  S	5      =nb  XS	'   UR                  S
5      =nb  XS
'   UR                  S5      =nb  XS'   UR                  S5      =nb  XS'   UR                  S5      =nb  XS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   U " S0 UD6$ )9Initialize a ResourceAlias object from a json dictionary.rc   r(   rA   rx  rz  r  ry  r{  r  r)   r   r  r   r+   r*   r  r   r  r1   r  r  r  r  ri   r  )r   r  r  rc   r(   rA   rx  rz  r  ry  r{  r  r)   r   r  r   r+   r*   r  r   r  r1   r  r  r  r  s                             r   r  ResourceAlias.from_dict	  s    ))D/!B.JIIf%%D2L99U##C0K))L11J>!3J!?D))L11J>!3J!?D))L11J>!3J!?D))L11J>!+))L11J>!+))L11J>!+IIf%%D2L$)II.D$EE R+?'())L11J>!+))L11J>!+ 99]33K@"-D!&+>!??L(9D$%99U##C0DK"')),@"AAN);D%&#(99-B#CCP*=D&'YYw''E4!DM		*--H:'D%*YY/F%GG!T,AD()%*YY/F%GG!T,AD()!&+>!??L(9D$%{T{r    c                 $    U R                  U5      $ )r  r  r  s     r   r  ResourceAlias._from_dict	  r   r    c                 V   0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S	5      (       a  U R                  b  U R                  US	'   [        U S
5      (       a  U R                  b  U R                  US
'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                   b  U R                   US'   [        U S5      (       a  U R"                  b  U R"                  US'   [        U S5      (       a  U R$                  b  U R$                  US'   [        U S5      (       a  U R&                  b  U R&                  US'   [        U S5      (       a  U R(                  b  U R(                  US'   [        U S5      (       a  U R*                  b  U R*                  US'   [        U S5      (       a  U R,                  b  U R,                  US'   [        U S5      (       a  U R.                  b  U R.                  US'   [        U S5      (       a  U R0                  b  U R0                  US'   U$ )r"  rc   r(   rA   rx  rz  r  ry  r{  r  r)   r   r  r   r+   r*   r  r   r  r1   r  r  r  r  )r#  rc   r(   rA   rx  r   rz  r  ry  r{  r  r)   r   r  r   r+   r*   r  r   r  r1   r  r  r  r  re  s     r   r)  ResourceAlias.to_dict	  s   4477#6''E$K4  TYY%: IIE&M4DHH$888E%L4&&4??+F"4T__"EE,4&&4??+F"4T__"EE,4&&4??+F"4T__"EE,4&&4??+F"&//E,4&&4??+F"&//E,4&&4??+F"&//E,4  TYY%: IIE&M4/00T5N5N5Z,0,E,EE()4&&4??+F"&//E,4&&4??+F"&//E,4''D,<,<,H#'#3#3E- 4,--$2H2H2T)-)?)?E%&4DHH$888E%L4-..43J3J3V*.*A*AE&'4.//D4L4L4X+/+C+CE'(4!!djj&<!ZZE'N4$$)B $E*4011d6P6P6\-1-G-GE)*4011d6P6P6\-1-G-GE)*4,--$2H2H2T)-)?)?E%&r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  ResourceAlias._to_dict"
  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z4Return a `str` version of this ResourceAlias object.r>  r?  rA  r.  s    r   rB  ResourceAlias.__str__&
  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  ResourceAlias.__eq__*
  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  ResourceAlias.__ne__0
  rS  r    )r   rx  ry  r  r  r  r(   rc   r  r)   r  r   r  r*   r+   r   r  r  r1   r  rz  r{  rA   r   r   r   r   r   r   r   r   r   r#   r   r   r  r  r)  r/  rB  rL  rQ  r   ri   r    r   r  r  .	  s8   (Z !"!)-)-)-$($($(".2$($(%)+/!,0-1##'/3/3+/3[3 SM[3 sm	[3
 c][3 X&[3 X&[3 X&[3 SM[3 SM[3 SM[3 sm[3 'sm[3 SM[3 SM[3  c]![3" $C=#[3$ c]%[3& %SM'[3( &c])[3* }+[3, 4.-[3.  (}/[30  (}1[32 $C=3[34 
5[3z 1d 1 1 1f $ $1 1f4 4/O / /!O ! !r    r  c                       \ rS rSrSrS\S\S\S   SS4S	 jr\	S
\
SS 4S j5       r\	S 5       rS\
4S jrS rS\4S jrSS S\4S jrSS S\4S jrSrg)ResourceAliasesListi5
  z
A list of resource aliases.

:param int rows_count: The number of resource aliases in `resources`.
:param str next_url: The URL for requesting the next page of results.
:param List[ResourceAlias] resources: A list of resource aliases.

rows_countnext_urlr  r  r   Nc                 (    Xl         X l        X0l        g)z
Initialize a ResourceAliasesList object.

:param int rows_count: The number of resource aliases in `resources`.
:param str next_url: The URL for requesting the next page of results.
:param List[ResourceAlias] resources: A list of resource aliases.
Nr  r  r  r%   r  r  r  s       r   r#   ResourceAliasesList.__init__>
       % "r    r  c                 B   0 nUR                  S5      =nb  X2S'   O[        S5      eUR                  S5      =nb  XBS'   O[        S5      eUR                  S5      =nb*  U Vs/ s H  n[        R                  U5      PM     snUS'   O[        S5      eU " S0 UD6$ s  snf )?Initialize a ResourceAliasesList object from a json dictionary.r  zFRequired property 'rows_count' not present in ResourceAliasesList JSONr  zDRequired property 'next_url' not present in ResourceAliasesList JSONr  zERequired property 'resources' not present in ResourceAliasesList JSONri   )rF   r\   r  r  r   r  r  r  r  r  ra   s          r   r  ResourceAliasesList.from_dictO
  s     ))L11J>!+ghh		*--H:'eff;//I<EN OY!8!8!;Y ODfgg{T{ !P   #Bc                 $    U R                  U5      $ )r  r  r  s     r   r  ResourceAliasesList._from_dicta
  r   r    c                    0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       am  U R                  b`  / nU R                   HJ  n[	        U[
        5      (       a  UR                  U5        M+  UR                  UR                  5       5        ML     X!S'   U$ r"  r  r  r  r#  r  r  r  r  rl   r  r)  r  s       r   r)  ResourceAliasesList.to_dictf
      4&&4??+F"&//E,4$$)B $E*4%%$..*DN^^a&&"))!,"))!))+6	 $
 "0+r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  ResourceAliasesList._to_dictw
  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z:Return a `str` version of this ResourceAliasesList object.r>  r?  rA  r.  s    r   rB  ResourceAliasesList.__str__{
  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  ResourceAliasesList.__eq__
  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  ResourceAliasesList.__ne__
  rS  r    r  r  r  r   r   r   r   r   r   r   r   r#   r   r   r  r  r)  r/  rB  r   rL  rQ  r   ri   r    r   r  r  5
  s    ## # (	#
 
#" d '<  " $ $ "4 4/1 /d /!1 !d !r    r  c            1          \ rS rSrSrSSSSSSSSSSSSSSSSSSSSSSSS.S\\   S\\   S\\   S\\   S	\\   S
\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\S   S\\   S\\   S\\   S\\   SS40S jjr	\
S\SS 4S  j5       r\
S! 5       rS\4S" jrS# rS\4S$ jrS%S S\4S& jrS%S S\4S' jrS(rg))ResourceBindingi
  u  
A resource binding.

:param str id: (optional) The ID associated with the binding.
:param str guid: (optional) The GUID of the binding.
:param str url: (optional) When you provision a new binding, a relative URL path
      is created identifying the location of the binding.
:param datetime created_at: (optional) The date when the binding was created.
:param datetime updated_at: (optional) The date when the binding was last
      updated.
:param datetime deleted_at: (optional) The date when the binding was deleted.
:param str created_by: (optional) The subject who created the binding.
:param str updated_by: (optional) The subject who updated the binding.
:param str deleted_by: (optional) The subject who deleted the binding.
:param str source_crn: (optional) The CRN of resource alias associated to the
      binding.
:param str target_crn: (optional) The CRN of target resource, for example,
      application, in a specific environment.
:param str crn: (optional) The full Cloud Resource Name (CRN) associated with
      the binding. For more information about this format, see [Cloud Resource
      Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str region_binding_id: (optional) The ID of the binding in the target
      environment. For example, `service_binding_id` in a given IBM Cloud environment.
:param str region_binding_crn: (optional) The CRN of the binding in the target
      environment.
:param str name: (optional) The human-readable name of the binding.
:param str account_id: (optional) An alpha-numeric value identifying the account
      ID.
:param str resource_group_id: (optional) The ID of the resource group.
:param str state: (optional) The state of the binding.
:param Credentials credentials: (optional) The credentials for the binding.
      Additional key-value pairs are passed through from the resource brokers. After a
      credential is created for a service, it can be viewed at any time for users that
      need the API key value. However, all users must have the correct level of access
      to see the details of a credential that includes the API key value. For
      additional details, see [viewing a
      credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui)
      or the service’s documentation.
:param bool iam_compatible: (optional) Specifies whether the binding’s
      credentials support IAM.
:param str resource_id: (optional) The unique ID of the offering. This value is
      provided by and stored in the global catalog.
:param bool migrated: (optional) A boolean that dictates if the alias was
      migrated from a previous CF instance.
:param str resource_alias_url: (optional) The relative path to the resource
      alias that this binding is associated with.
Nrc   r(   rA   rx  rz  r  ry  r{  r  
source_crnr  r  r   region_binding_crnr)   r   r*   r1   credentialsiam_compatibler+   r  resource_alias_urlrc   r(   rA   rx  rz  r  ry  r{  r  r  r  r  r   r  r)   r   r*   r1   r  r  r  r+   r  r  r   c                (   Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        Xl
        Xl        Xl        Xl        Xl        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        g)u@  
Initialize a ResourceBinding object.

:param str id: (optional) The ID associated with the binding.
:param str guid: (optional) The GUID of the binding.
:param str url: (optional) When you provision a new binding, a relative URL
       path is created identifying the location of the binding.
:param datetime created_at: (optional) The date when the binding was
       created.
:param datetime updated_at: (optional) The date when the binding was last
       updated.
:param datetime deleted_at: (optional) The date when the binding was
       deleted.
:param str created_by: (optional) The subject who created the binding.
:param str updated_by: (optional) The subject who updated the binding.
:param str deleted_by: (optional) The subject who deleted the binding.
:param str source_crn: (optional) The CRN of resource alias associated to
       the binding.
:param str target_crn: (optional) The CRN of target resource, for example,
       application, in a specific environment.
:param str crn: (optional) The full Cloud Resource Name (CRN) associated
       with the binding. For more information about this format, see [Cloud
       Resource Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str region_binding_id: (optional) The ID of the binding in the
       target environment. For example, `service_binding_id` in a given IBM Cloud
       environment.
:param str region_binding_crn: (optional) The CRN of the binding in the
       target environment.
:param str name: (optional) The human-readable name of the binding.
:param str account_id: (optional) An alpha-numeric value identifying the
       account ID.
:param str resource_group_id: (optional) The ID of the resource group.
:param str state: (optional) The state of the binding.
:param Credentials credentials: (optional) The credentials for the binding.
       Additional key-value pairs are passed through from the resource brokers.
       After a credential is created for a service, it can be viewed at any time
       for users that need the API key value. However, all users must have the
       correct level of access to see the details of a credential that includes
       the API key value. For additional details, see [viewing a
       credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui)
       or the service’s documentation.
:param bool iam_compatible: (optional) Specifies whether the binding’s
       credentials support IAM.
:param str resource_id: (optional) The unique ID of the offering. This
       value is provided by and stored in the global catalog.
:param bool migrated: (optional) A boolean that dictates if the alias was
       migrated from a previous CF instance.
:param str resource_alias_url: (optional) The relative path to the resource
       alias that this binding is associated with.
Nr  )r%   rc   r(   rA   rx  rz  r  ry  r{  r  r  r  r  r   r  r)   r   r*   r1   r  r  r+   r  r  s                           r   r#   ResourceBinding.__init__
  s    Z 	$$$$$$$$!2"4	$!2
&,& "4r    r  c                    0 nUR                  S5      =nb  X2S'   UR                  S5      =nb  XBS'   UR                  S5      =nb  XRS'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  [        U5      US'   UR                  S5      =n	b  XS'   UR                  S5      =n
b  XS'   UR                  S	5      =nb  XS	'   UR                  S
5      =nb  XS
'   UR                  S5      =nb  XS'   UR                  S5      =nb  XS'   UR                  S5      =nb  XS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  [        R                  U5      US'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   U " S0 UD6$ );Initialize a ResourceBinding object from a json dictionary.rc   r(   rA   rx  rz  r  ry  r{  r  r  r  r  r   r  r)   r   r*   r1   r  r  r+   r  r  ri   rF   r   r  r  )r   r  r  rc   r(   rA   rx  rz  r  ry  r{  r  r  r  r  r   r  r)   r   r*   r1   r  r  r+   r  r  s                             r   r  ResourceBinding.from_dict   s    ))D/!B.JIIf%%D2L99U##C0K))L11J>!3J!?D))L11J>!3J!?D))L11J>!3J!?D))L11J>!+))L11J>!+))L11J>!+))L11J>!+))L11J>!+99U##C0K!&+>!??L(9$%"')),@"AAN);D%&IIf%%D2DL))L11J>!+D!&+>!??L(9D$%YYw''E4!DM 99]33K@"-"7"7"DD#ii(899NF%3D!" 99]33K@"-D		*--H:'D"')),@"AAN);D%&{T{r    c                 $    U R                  U5      $ )r  r  r  s     r   r  ResourceBinding._from_dictT  r   r    c                    0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S	5      (       a  U R                  b  U R                  US	'   [        U S
5      (       a  U R                  b  U R                  US
'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                   b  U R                   US'   [        U S5      (       a  U R"                  b  U R"                  US'   [        U S5      (       a  U R$                  b  U R$                  US'   [        U S5      (       a  U R&                  b  U R&                  US'   [        U S5      (       aY  U R(                  bL  [+        U R(                  [,        5      (       a  U R(                  US'   OU R(                  R/                  5       US'   [        U S5      (       a  U R0                  b  U R0                  US'   [        U S5      (       a  U R2                  b  U R2                  US'   [        U S5      (       a  U R4                  b  U R4                  US'   [        U S5      (       a  U R6                  b  U R6                  US'   U$ )r"  rc   r(   rA   rx  rz  r  ry  r{  r  r  r  r  r   r  r)   r   r*   r1   r  r  r+   r  r  )r#  rc   r(   rA   rx  r   rz  r  ry  r{  r  r  r  r  r   r  r)   r   r*   r1   r  r  rl   r)  r  r+   r  r  re  s     r   r)  ResourceBinding.to_dictY  s   4477#6''E$K4  TYY%: IIE&M4DHH$888E%L4&&4??+F"4T__"EE,4&&4??+F"4T__"EE,4&&4??+F"4T__"EE,4&&4??+F"&//E,4&&4??+F"&//E,4&&4??+F"&//E,4&&4??+F"&//E,4&&4??+F"&//E,4DHH$888E%L4,--$2H2H2T)-)?)?E%&4-..43J3J3V*.*A*AE&'4  TYY%: IIE&M4&&4??+F"&//E,4,--$2H2H2T)-)?)?E%&4!!djj&<!ZZE'N4''D,<,<,H$**D11'+'7'7m$'+'7'7'?'?'Am$4)**t/B/B/N&*&9&9E"#4''D,<,<,H#'#3#3E- 4$$)B $E*4-..43J3J3V*.*A*AE&'r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  ResourceBinding._to_dict  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z6Return a `str` version of this ResourceBinding object.r>  r?  rA  r.  s    r   rB  ResourceBinding.__str__  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  ResourceBinding.__eq__  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  ResourceBinding.__ne__  rS  r    )r   rx  ry  r  r  r  r  r(   r  rc   r  r)   r  r   r  r*   r+   r  r1   r  rz  r{  rA   r  ri   r    r   r  r  
  s<   .f !"!)-)-)-$($($($($(!+/,0"$(+/#/3)-%)#',03c5 SMc5 sm	c5
 c]c5 X&c5 X&c5 X&c5 SMc5 SMc5 SMc5 SMc5 SMc5 c]c5 $C=c5  %SM!c5" sm#c5$ SM%c5& $C='c5( })c5* m,+c5, !-c5. c]/c50 4.1c52 %SM3c54 
5c5J 1d 1'8 1 1f $ $4 4l4 4/- /$ /!- !$ !r    r  c                       \ rS rSrSr\" S/5      rSS.S\\   S\\	   SS4S jjr
\S	\SS 4S
 j5       r\S 5       rS\4S jrS rS\4S jrS	\4S jrS\4S jrSS S\4S jrSS S\4S jrSrg)r   i  r  
Configuration options represented as key-value pairs. Service defined options are
passed through to the target resource brokers, whereas platform defined options are
not.

:param str serviceid_crn: (optional) An optional platform defined option to
      reuse an existing IAM serviceId for the role assignment.

This type supports additional properties of type object.
serviceid_crnNr  rI   r   c                   Xl         UR                  5        Hn  u  p4U[        R                  ;  a=  [	        U[
        5      (       d  [        SR                  U5      5      e[        XU5        MV  [        SR                  U5      5      e   g)a	  
Initialize a ResourceBindingPostParameters object.

:param str serviceid_crn: (optional) An optional platform defined option to
       reuse an existing IAM serviceId for the role assignment.
:param object **kwargs: (optional) Additional properties of type object
r  r  N)	r  r]   r   r  r  r  r\   rn   r  r%   r  rI   r`   ra   s        r   r#   &ResourceBindingPostParameters.__init__  sr     +LLNDA5AAA!!V,,$%^%e%efg%hii# !\!c!cde!fgg #r    r  c                     0 nUR                  S5      =nb  X2S'   UR                  5        HI  u  pEX@R                  ;  d  M  [        U[        5      (       d  [        SR                  U5      5      eXRU'   MK     U " S0 UD6$ )IInitialize a ResourceBindingPostParameters object from a json dictionary.r  r  ri   r  r   r  r  r  r`   ra   s         r   r  'ResourceBindingPostParameters.from_dict  {     "YY77MD$1!KKMDA'!!V,,$%^%e%efg%hiiQ	 "
 {T{r    c                 $    U R                  U5      $ )r  r  r  s     r   r  (ResourceBindingPostParameters._from_dict  r   r    c                    0 n[        U S5      (       a  U R                  b  U R                  US'   [        U 5      R                  5        Vs/ s H  o"[        R
                  ;  d  M  UPM     sn H  n[        X5      X'   M     U$ s  snf r"  r  )r#  r  r$  r%  r   r  r&  r'  s       r   r)  %ResourceBindingPostParameters.to_dict  sy    4))d.@.@.L%)%7%7E/"#Dz0h0>[>g>g4g"0hAt'EH i i   B&Bc                 "    U R                  5       $ r,  r-  r.  s    r   r/  &ResourceBindingPostParameters._to_dict  r1  r    c                     0 n[        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[	        X5      X'   M     U$ s  snf )zkReturn the additional properties from this instance of ResourceBindingPostParameters in the form of a dict.)r$  r%  r   r  r&  r'  s       r   r3  ,ResourceBindingPostParameters.get_properties  Q    #Dz0h0>[>g>g4g"0hAt'EH i ir5  c                    [        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[	        X5        M     UR                  5        Hr  u  p4U[        R                  ;  a=  [        U[        5      (       d  [        SR                  U5      5      e[        XU5        MV  [        SR                  [        5      5      e   gs  snf )z[Set a dictionary of additional properties in this instance of ResourceBindingPostParametersr  r  N)r$  r%  r   r  r7  r]   r  r  r\   rn   r  r8  r9  s        r   r:  ,ResourceBindingPostParameters.set_properties      #Dz0h0>[>g>g4g"0hAD iKKMDA5AAA!!V,,$%^%e%efg%hii# !\!c!cdh!ijj " ir<  c                 H    [         R                  " U R                  5       SS9$ )zDReturn a `str` version of this ResourceBindingPostParameters object.r>  r?  rA  r.  s    r   rB  %ResourceBindingPostParameters.__str__  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  $ResourceBindingPostParameters.__eq__  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  $ResourceBindingPostParameters.__ne__  rS  r    r   r   r   r   r   rX  r  r   r   r  r#   r   r   r  r  r)  r/  r3  rl   r:  rB  r   rL  rQ  r   ri   r    r   r   r     s    	 _-.K
 (,h  }h 6"	h
 
h, 
d 
'F 
 
 $ $  
kD 
k4 4/; / /!; ! !r    r   c                       \ rS rSrSrS\S\S\S   SS4S	 jr\	S
\
SS 4S j5       r\	S 5       rS\
4S jrS rS\4S jrSS S\4S jrSS S\4S jrSrg)ResourceBindingsListi  z
A list of resource bindings.

:param int rows_count: The number of resource bindings in `resources`.
:param str next_url: The URL for requesting the next page of results.
:param List[ResourceBinding] resources: A list of resource bindings.
r  r  r  r  r   Nc                 (    Xl         X l        X0l        g)z
Initialize a ResourceBindingsList object.

:param int rows_count: The number of resource bindings in `resources`.
:param str next_url: The URL for requesting the next page of results.
:param List[ResourceBinding] resources: A list of resource bindings.
Nr  r  s       r   r#   ResourceBindingsList.__init__  r  r    r  c                 B   0 nUR                  S5      =nb  X2S'   O[        S5      eUR                  S5      =nb  XBS'   O[        S5      eUR                  S5      =nb*  U Vs/ s H  n[        R                  U5      PM     snUS'   O[        S5      eU " S0 UD6$ s  snf )@Initialize a ResourceBindingsList object from a json dictionary.r  zGRequired property 'rows_count' not present in ResourceBindingsList JSONr  zERequired property 'next_url' not present in ResourceBindingsList JSONr  zFRequired property 'resources' not present in ResourceBindingsList JSONri   )rF   r\   r  r  r  s          r   r  ResourceBindingsList.from_dict"  s     ))L11J>!+hii		*--H:'fgg;//I<GP Qy!!:!:1!=y QDghh{T{ !Rr  c                 $    U R                  U5      $ )r#  r  r  s     r   r  ResourceBindingsList._from_dict4  r   r    c                    0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       am  U R                  b`  / nU R                   HJ  n[	        U[
        5      (       a  UR                  U5        M+  UR                  UR                  5       5        ML     X!S'   U$ r  r  r  s       r   r)  ResourceBindingsList.to_dict9  r  r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  ResourceBindingsList._to_dictJ  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z;Return a `str` version of this ResourceBindingsList object.r>  r?  rA  r.  s    r   rB  ResourceBindingsList.__str__N  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  ResourceBindingsList.__eq__R  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  ResourceBindingsList.__ne__X  rS  r    r  r  ri   r    r   r  r    s    ## # )*	#
 
#" d '=  " $ $ "4 4/2 /t /!2 !t !r    r  c            Q          \ rS rSrSrSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.'S\\   S\\   S\\   S\\   S	\\   S
\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\	   S\\   S\\   S\\   S\\   S \\   S!\\   S"\\   S#\S$   S%\\   S&\\   S'\\   S(\\
S)      S*\\   S+\\	   S,\\   S-\\   S.S4PS/ jjr\S0\S.S 4S1 j5       r\S2 5       rS.\4S3 jrS4 rS.\4S5 jrS6S S.\4S7 jrS6S S.\4S8 jr " S9 S:\\5      rS;rg)<ResourceInstancei]  a#  
A resource instance.

:param str id: (optional) The ID associated with the instance.
:param str guid: (optional) The GUID of the instance.
:param str url: (optional) When you provision a new resource, a relative URL
      path is created identifying the location of the instance.
:param datetime created_at: (optional) The date when the instance was created.
:param datetime updated_at: (optional) The date when the instance was last
      updated.
:param datetime deleted_at: (optional) The date when the instance was deleted.
:param str created_by: (optional) The subject who created the instance.
:param str updated_by: (optional) The subject who updated the instance.
:param str deleted_by: (optional) The subject who deleted the instance.
:param datetime scheduled_reclaim_at: (optional) The date when the instance was
      scheduled for reclamation.
:param datetime restored_at: (optional) The date when the instance under
      reclamation was restored.
:param str restored_by: (optional) The subject who restored the instance back
      from reclamation.
:param str scheduled_reclaim_by: (optional) The subject who initiated the
      instance reclamation.
:param str name: (optional) The human-readable name of the instance.
:param str region_id: (optional) The deployment location where the instance was
      provisioned.
:param str account_id: (optional) An alpha-numeric value identifying the account
      ID.
:param str reseller_channel_id: (optional) The unique ID of the reseller channel
      where the instance was provisioned from.
:param str resource_plan_id: (optional) The unique ID of the plan associated
      with the offering. This value is provided by and stored in the global catalog.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_group_crn: (optional) The CRN of the resource group.
:param str target_crn: (optional) The deployment CRN as defined in the global
      catalog. The Cloud Resource Name (CRN) of the deployment location where the
      instance is provisioned.
:param bool onetime_credentials: (optional) Whether newly created resource key
      credentials can be retrieved by using get resource key or get a list of all of
      the resource keys requests.
:param dict parameters: (optional) The current configuration parameters of the
      instance.
:param bool allow_cleanup: (optional) A boolean that dictates if the resource
      instance should be deleted (cleaned up) during the processing of a region
      instance delete call.
:param str crn: (optional) The full Cloud Resource Name (CRN) associated with
      the instance. For more information about this format, see [Cloud Resource
      Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str state: (optional) The current state of the instance. For example, if
      the instance is deleted, it will return removed.
:param str type: (optional) The type of the instance, for example,
      `service_instance`.
:param str sub_type: (optional) The sub-type of instance, for example, `cfaas`.
:param str resource_id: (optional) The unique ID of the offering. This value is
      provided by and stored in the global catalog.
:param str dashboard_url: (optional) The resource-broker-provided URL to access
      administrative features of the instance.
:param ResourceInstanceLastOperation last_operation: (optional) The status of
      the last operation requested on the instance.
:param str resource_aliases_url: (optional) Deprecated: The relative path to the
      resource aliases for the instance.
:param str resource_bindings_url: (optional) Deprecated: The relative path to
      the resource bindings for the instance.
:param str resource_keys_url: (optional) The relative path to the resource keys
      for the instance.
:param List[PlanHistoryItem] plan_history: (optional) The plan history of the
      instance.
:param bool migrated: (optional) A boolean that dictates if the resource
      instance was migrated from a previous CF instance.
:param dict extensions: (optional) Additional instance properties, contributed
      by the service and/or platform, are represented as key-value pairs.
:param str controlled_by: (optional) The CRN of the resource that has control of
      the instance.
:param bool locked: (optional) A boolean that dictates if the resource instance
      is locked or not.
N'rc   r(   rA   rx  rz  r  ry  r{  r  scheduled_reclaim_atrestored_atrestored_byscheduled_reclaim_byr)   	region_idr   reseller_channel_idr,   r*   resource_group_crnr  onetime_credentialsrP   rO   r  r1   r-   r.   r+   dashboard_urllast_operationresource_aliases_urlr  r  plan_historyr  
extensionscontrolled_bylockedrc   r(   rA   rx  rz  r  ry  r{  r  r4  r5  r6  r7  r)   r8  r   r9  r,   r*   r:  r  r;  rP   rO   r  r1   r-   r.   r+   r<  r=  ResourceInstanceLastOperationr>  r  r  r?  rZ  r  r@  rA  rB  r   c       '            Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        Xl
        Xl        Xl        Xl        Xl        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        UU l        U U l        U!U l         U"U l!        U#U l"        U$U l#        U%U l$        U&U l%        U'U l&        g)aw  
Initialize a ResourceInstance object.

:param str id: (optional) The ID associated with the instance.
:param str guid: (optional) The GUID of the instance.
:param str url: (optional) When you provision a new resource, a relative
       URL path is created identifying the location of the instance.
:param datetime created_at: (optional) The date when the instance was
       created.
:param datetime updated_at: (optional) The date when the instance was last
       updated.
:param datetime deleted_at: (optional) The date when the instance was
       deleted.
:param str created_by: (optional) The subject who created the instance.
:param str updated_by: (optional) The subject who updated the instance.
:param str deleted_by: (optional) The subject who deleted the instance.
:param datetime scheduled_reclaim_at: (optional) The date when the instance
       was scheduled for reclamation.
:param datetime restored_at: (optional) The date when the instance under
       reclamation was restored.
:param str restored_by: (optional) The subject who restored the instance
       back from reclamation.
:param str scheduled_reclaim_by: (optional) The subject who initiated the
       instance reclamation.
:param str name: (optional) The human-readable name of the instance.
:param str region_id: (optional) The deployment location where the instance
       was provisioned.
:param str account_id: (optional) An alpha-numeric value identifying the
       account ID.
:param str reseller_channel_id: (optional) The unique ID of the reseller
       channel where the instance was provisioned from.
:param str resource_plan_id: (optional) The unique ID of the plan
       associated with the offering. This value is provided by and stored in the
       global catalog.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_group_crn: (optional) The CRN of the resource group.
:param str target_crn: (optional) The deployment CRN as defined in the
       global catalog. The Cloud Resource Name (CRN) of the deployment location
       where the instance is provisioned.
:param bool onetime_credentials: (optional) Whether newly created resource
       key credentials can be retrieved by using get resource key or get a list of
       all of the resource keys requests.
:param dict parameters: (optional) The current configuration parameters of
       the instance.
:param bool allow_cleanup: (optional) A boolean that dictates if the
       resource instance should be deleted (cleaned up) during the processing of a
       region instance delete call.
:param str crn: (optional) The full Cloud Resource Name (CRN) associated
       with the instance. For more information about this format, see [Cloud
       Resource Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str state: (optional) The current state of the instance. For
       example, if the instance is deleted, it will return removed.
:param str type: (optional) The type of the instance, for example,
       `service_instance`.
:param str sub_type: (optional) The sub-type of instance, for example,
       `cfaas`.
:param str resource_id: (optional) The unique ID of the offering. This
       value is provided by and stored in the global catalog.
:param str dashboard_url: (optional) The resource-broker-provided URL to
       access administrative features of the instance.
:param ResourceInstanceLastOperation last_operation: (optional) The status
       of the last operation requested on the instance.
:param str resource_aliases_url: (optional) Deprecated: The relative path
       to the resource aliases for the instance.
:param str resource_bindings_url: (optional) Deprecated: The relative path
       to the resource bindings for the instance.
:param str resource_keys_url: (optional) The relative path to the resource
       keys for the instance.
:param List[PlanHistoryItem] plan_history: (optional) The plan history of
       the instance.
:param bool migrated: (optional) A boolean that dictates if the resource
       instance was migrated from a previous CF instance.
:param dict extensions: (optional) Additional instance properties,
       contributed by the service and/or platform, are represented as key-value
       pairs.
:param str controlled_by: (optional) The CRN of the resource that has
       control of the instance.
:param bool locked: (optional) A boolean that dictates if the resource
       instance is locked or not.
Nr3  )(r%   rc   r(   rA   rx  rz  r  ry  r{  r  r4  r5  r6  r7  r)   r8  r   r9  r,   r*   r:  r  r;  rP   rO   r  r1   r-   r.   r+   r<  r=  r>  r  r  r?  r  r@  rA  rB  s(                                           r   r#   ResourceInstance.__init__  s
   v 	$$$$$$$8!&&$8!	"$#6  0!2"4$#6 $*
	 &*,$8!%:"!2( $*r    r  c                 v   0 nUR                  S5      =nb  X2S'   UR                  S5      =nb  XBS'   UR                  S5      =nb  XRS'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  [        U5      US'   UR                  S5      =n	b  XS'   UR                  S5      =n
b  XS'   UR                  S	5      =nb  XS	'   UR                  S
5      =nb  [        U5      US
'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  XS'   UR                  S5      =nb  XS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =n b  U US'   UR                  S5      =n!b  [        R                  U!5      US'   UR                  S 5      =n"b  U"US '   UR                  S!5      =n#b  U#US!'   UR                  S"5      =n$b  U$US"'   UR                  S#5      =n%b)  U% V&s/ s H  n&[        R                  U&5      PM     sn&US#'   UR                  S$5      =n'b  U'US$'   UR                  S%5      =n(b  U(US%'   UR                  S&5      =n)b  U)US&'   UR                  S'5      =n*b  U*US''   U " S(0 UD6$ s  sn&f ))<Initialize a ResourceInstance object from a json dictionary.rc   r(   rA   rx  rz  r  ry  r{  r  r4  r5  r6  r7  r)   r8  r   r9  r,   r*   r:  r  r;  rP   rO   r  r1   r-   r.   r+   r<  r=  r>  r  r  r?  r  r@  rA  rB  ri   )rF   r   rC  r  rZ  )+r   r  r  rc   r(   rA   rx  rz  r  ry  r{  r  r4  r5  r6  r7  r)   r8  r   r9  r,   r*   r:  r  r;  rP   rO   r  r1   r-   r.   r+   r<  r=  r>  r  r  r?  ra   r  r@  rA  rB  s+                                              r   r  ResourceInstance.from_dictM  s    ))D/!B.JIIf%%D2L99U##C0K))L11J>!3J!?D))L11J>!3J!?D))L11J>!3J!?D))L11J>!+))L11J>!+))L11J>!+$)II.D$EE R+=>R+SD'( 99]33K@"4["AD 99]33K@"-$)II.D$EE R+?'(IIf%%D2DL;//I< )D))L11J>!+D#(99-B#CCP*=D&' %		*< ==J'7D#$!&+>!??L(9D$%"')),@"AAN);D%&))L11J>!+D#(99-B#CCP*=D&'))L11J>!+D"YY77MD$1D!99U##C0DKYYw''E4!DMIIf%%D2DL		*--H:'D 99]33K@"-D"YY77MD$1D!#ii(899NF%B%L%L^%\D!"$)II.D$EE R+?D'(%*YY/F%GG!T,AD()!&+>!??L(9D$%!IIn55LBJV#W,QO$=$=a$@,#WD 		*--H:'D))L11J>!+D"YY77MD$1D!ii))F6#DN{T{ $Xs   %P6c                 $    U R                  U5      $ )rG  r  r  s     r   r  ResourceInstance._from_dict  r   r    c                 6   0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S	5      (       a  U R                  b  U R                  US	'   [        U S
5      (       a%  U R                  b  [        U R                  5      US
'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                   b  U R                   US'   [        U S5      (       a  U R"                  b  U R"                  US'   [        U S5      (       a  U R$                  b  U R$                  US'   [        U S5      (       a  U R&                  b  U R&                  US'   [        U S5      (       a  U R(                  b  U R(                  US'   [        U S5      (       a  U R*                  b  U R*                  US'   [        U S5      (       a  U R,                  b  U R,                  US'   [        U S5      (       a  U R.                  b  U R.                  US'   [        U S5      (       a  U R0                  b  U R0                  US'   [        U S5      (       a  U R2                  b  U R2                  US'   [        U S5      (       a  U R4                  b  U R4                  US'   [        U S5      (       a  U R6                  b  U R6                  US'   [        U S5      (       a  U R8                  b  U R8                  US'   [        U S5      (       a  U R:                  b  U R:                  US'   [        U S5      (       a  U R<                  b  U R<                  US'   [        U S5      (       a  U R>                  b  U R>                  US'   [        U S5      (       aY  U R@                  bL  [C        U R@                  [D        5      (       a  U R@                  US'   OU R@                  RG                  5       US'   [        U S 5      (       a  U RH                  b  U RH                  US '   [        U S!5      (       a  U RJ                  b  U RJ                  US!'   [        U S"5      (       a  U RL                  b  U RL                  US"'   [        U S#5      (       am  U RN                  b`  / nU RN                   HJ  n[C        U[D        5      (       a  URQ                  U5        M+  URQ                  URG                  5       5        ML     X!S#'   [        U S$5      (       a  U RR                  b  U RR                  US$'   [        U S%5      (       a  U RT                  b  U RT                  US%'   [        U S&5      (       a  U RV                  b  U RV                  US&'   [        U S'5      (       a  U RX                  b  U RX                  US''   U$ )(r"  rc   r(   rA   rx  rz  r  ry  r{  r  r4  r5  r6  r7  r)   r8  r   r9  r,   r*   r:  r  r;  rP   rO   r  r1   r-   r.   r+   r<  r=  r>  r  r  r?  r  r@  rA  rB  )-r#  rc   r(   rA   rx  r   rz  r  ry  r{  r  r4  r5  r6  r7  r)   r8  r   r9  r,   r*   r:  r  r;  rP   rO   r  r1   r-   r.   r+   r<  r=  r  rl   r)  r>  r  r  r?  r  r  r@  rA  rB  )r%   r  plan_history_listra   s       r   r)  ResourceInstance.to_dict  sc   4477#6''E$K4  TYY%: IIE&M4DHH$888E%L4&&4??+F"4T__"EE,4&&4??+F"4T__"EE,4&&4??+F"4T__"EE,4&&4??+F"&//E,4&&4??+F"&//E,4&&4??+F"&//E,4/00T5N5N5Z,>t?X?X,YE()4''D,<,<,H#5d6F6F#GE- 4''D,<,<,H#'#3#3E- 4/00T5N5N5Z,0,E,EE()4  TYY%: IIE&M4%%$..*D!%E+4&&4??+F"&//E,4.//D4L4L4X+/+C+CE'(4+,,1F1F1R(,(=(=E$%4,--$2H2H2T)-)?)?E%&4-..43J3J3V*.*A*AE&'4&&4??+F"&//E,4.//D4L4L4X+/+C+CE'(4&&4??+F"&//E,4))d.@.@.L%)%7%7E/"4DHH$888E%L4!!djj&<!ZZE'N4  TYY%: IIE&M4$$)B $E*4''D,<,<,H#'#3#3E- 4))d.@.@.L%)%7%7E/"4)**t/B/B/N$--t44*.*=*=&'*.*=*=*E*E*G&'4/00T5N5N5Z,0,E,EE()4011d6P6P6\-1-G-GE)*4,--$2H2H2T)-)?)?E%&4((T->->-J "&&a&&%,,Q/%,,QYY[9	 '
 %6.!4$$)B $E*4&&4??+F"&//E,4))d.@.@.L%)%7%7E/"4""t{{'>"kkE(Or    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  ResourceInstance._to_dict  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z7Return a `str` version of this ResourceInstance object.r>  r?  rA  r.  s    r   rB  ResourceInstance.__str__  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  ResourceInstance.__eq__
  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  ResourceInstance.__ne__  rS  r    c                   8    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrg)ResourceInstance.StateEnumi  ze
The current state of the instance. For example, if the instance is deleted, it
will return removed.
r   r   r   pending_removalr   r   r   r   ri   N)r   r   r   r   r   r   r   r  PENDING_REMOVALr   r   r   r   r   ri   r    r   	StateEnumrW    s3    	
 +3%-r    rZ  )'r   rO   rA  rx  ry  r  r<  r  r  r@  r(   rc   r=  rB  r  r)   r;  rP   r?  r8  r9  r>  r  r:  r*   r+   r  r,   r5  r6  r4  r7  r1   r.   r  r-   rz  r{  rA   )r   r   r   r   r   r   r   r   r   rl   r   r#   r   r   r  r  r)  r/  rB  rL  rQ  r   rZ  r   ri   r    r   r2  r2  ]  s   J^ !"!)-)-)-$($($(37*.%).2"#'$(-1*.+/,0$(.2%)(,!#""&%)'+DH.2/3+/:>#'%)'+!%Sa SMa sm	a
 c]a X&a X&a X&a SMa SMa SMa 'x0a h'a c]a 'sma  sm!a" C=#a$ SM%a& &c]'a( #3-)a* $C=+a, %SM-a. SM/a0 &d^1a2 TN3a4  ~5a6 c]7a8 }9a: sm;a< 3-=a> c]?a@  }AaB !!@ACaD 'smEaF  (}GaH $C=IaJ t$567KaL 4.MaN TNOaP  }QaR SaT 
UaF Qd Q'9 Q Qf $ $Z Zx4 4/. /4 /!. !4 !.C .r    r2  c                   ,   \ rS rSrSr\" / SQ5      rSSSS.S\S\S\S	\S
\S\S\	\   S\	\   S\	\
   S\	\   SS4S jjr\S\SS 4S j5       r\S 5       rS\4S jrS rS\4S jrS\4S jrS\4S jrSS S\4S jrSS S\4S jr " S S\\5      rSrg) rC  i$  aD  
The status of the last operation requested on the instance.

:param str type: The last operation type of the resource instance.
:param str state: The last operation state of the resoure instance. This
      indicates if the resource's last operation is in progress, succeeded or failed.
:param str sub_type: (optional) The last operation sub type of the resoure
      instance.
:param bool async_: A boolean that indicates if the resource is provisioned
      asynchronously or not.
:param str description: The description of the status of last operation.
:param str reason_code: (optional) Optional string that states the reason code
      for the last operation state change.
:param float poll_after: (optional) A field which indicates the time after which
      the instance's last operation is to be polled.
:param bool cancelable: A boolean that indicates if the resource's last
      operation is cancelable or not.
:param bool poll: A boolean that indicates if the resource broker's last
      operation can be polled or not.

This type supports additional properties of type object.
)
r-   r1   r.   async_asyncdescriptionreason_code
poll_after
cancelablepollN)r.   r_  r`  r-   r1   r\  r^  ra  rb  r.   r_  r`  rI   r   c                t   Xl         X l        Xpl        X0l        X@l        Xl        Xl        XPl        X`l        U
R                  5        Hn  u  pU[        R                  ;  a=  [        U[        5      (       d  [        SR                  U5      5      e[!        XU5        MV  [        SR                  U5      5      e   g)aW  
Initialize a ResourceInstanceLastOperation object.

:param str type: The last operation type of the resource instance.
:param str state: The last operation state of the resoure instance. This
       indicates if the resource's last operation is in progress, succeeded or
       failed.
:param bool async_: A boolean that indicates if the resource is provisioned
       asynchronously or not.
:param str description: The description of the status of last operation.
:param bool cancelable: A boolean that indicates if the resource's last
       operation is cancelable or not.
:param bool poll: A boolean that indicates if the resource broker's last
       operation can be polled or not.
:param str sub_type: (optional) The last operation sub type of the resoure
       instance.
:param str reason_code: (optional) Optional string that states the reason
       code for the last operation state change.
:param float poll_after: (optional) A field which indicates the time after
       which the instance's last operation is to be polled.
:param object **kwargs: (optional) Additional properties of type object
r  r  N)r-   r1   r.   r\  r^  r_  r`  ra  rb  r]   rC  r  r  r  r\   rn   r  )r%   r-   r1   r\  r^  ra  rb  r.   r_  r`  rI   r`   ra   s                r   r#   &ResourceInstanceLastOperation.__init__L  s    H 	
 &&$$	LLNDA5AAA!!V,,$%^%e%efg%hii# !\!c!cde!fgg #r    r  c                    0 nUR                  S5      =nb  X2S'   O[        S5      eUR                  S5      =nb  XBS'   O[        S5      eUR                  S5      =nb  XRS'   UR                  S5      =nb  XbS'   O[        S5      eUR                  S	5      =nb  XrS	'   O[        S
5      eUR                  S5      =nb  XS'   UR                  S5      =n	b  XS'   UR                  S5      =n
b  XS'   O[        S5      eUR                  S5      =nb  XS'   O[        S5      eUR                  5        HI  u  pXR                  ;  d  M  [	        U[
        5      (       d  [        SR                  U5      5      eXU'   MK     U " S0 UD6$ )IInitialize a ResourceInstanceLastOperation object from a json dictionary.r-   zJRequired property 'type' not present in ResourceInstanceLastOperation JSONr1   zKRequired property 'state' not present in ResourceInstanceLastOperation JSONr.   r]  r\  zKRequired property 'async' not present in ResourceInstanceLastOperation JSONr^  zQRequired property 'description' not present in ResourceInstanceLastOperation JSONr_  r`  ra  zPRequired property 'cancelable' not present in ResourceInstanceLastOperation JSONrb  zJRequired property 'poll' not present in ResourceInstanceLastOperation JSONr  ri   )rF   r\   r]   r  r  r  rn   )r   r  r  r-   r1   r.   r\  r^  r_  r`  ra  rb  r`   ra   s                 r   r  'ResourceInstanceLastOperation.from_dict  s    IIf%%D2LkllYYw''E4!Mlmm		*--H:'ii((F5#Nlmm 99]33K@"-rss 99]33K@"-))L11J>!+))L11J>!+qrrIIf%%D2LkllKKMDA'!!V,,$%^%e%efg%hiiQ	 "
 {T{r    c                 $    U R                  U5      $ )rf  r  r  s     r   r  (ResourceInstanceLastOperation._from_dict  r   r    c                    0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R
                  b  U R
                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S	5      (       a  U R                  b  U R                  US	'   [        U S
5      (       a  U R                  b  U R                  US
'   [        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[        X5      X'   M     U$ s  snf )r"  r-   r1   r.   r\  r]  r^  r_  r`  ra  rb  )r#  r-   r1   r.   r\  r^  r_  r`  ra  rb  r$  r%  rC  r  r&  r'  s       r   r)  %ResourceInstanceLastOperation.to_dict  s   4  TYY%: IIE&M4!!djj&<!ZZE'N4$$)B $E*4""t{{'>![[E'N4''D,<,<,H#'#3#3E- 4''D,<,<,H#'#3#3E- 4&&4??+F"&//E,4&&4??+F"&//E,4  TYY%: IIE&M#Dz0h0>[>g>g4g"0hAt'EH i is   3G-G-c                 "    U R                  5       $ r,  r-  r.  s    r   r/  &ResourceInstanceLastOperation._to_dict  r1  r    c                     0 n[        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[	        X5      X'   M     U$ s  snf )zkReturn the additional properties from this instance of ResourceInstanceLastOperation in the form of a dict.)r$  r%  rC  r  r&  r'  s       r   r3  ,ResourceInstanceLastOperation.get_properties  r  r5  c                    [        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[	        X5        M     UR                  5        Hr  u  p4U[        R                  ;  a=  [        U[        5      (       d  [        SR                  U5      5      e[        XU5        MV  [        SR                  [        5      5      e   gs  snf )z[Set a dictionary of additional properties in this instance of ResourceInstanceLastOperationr  r  N)r$  r%  rC  r  r7  r]   r  r  r\   rn   r  r8  r9  s        r   r:  ,ResourceInstanceLastOperation.set_properties  r  r<  c                 H    [         R                  " U R                  5       SS9$ )zDReturn a `str` version of this ResourceInstanceLastOperation object.r>  r?  rA  r.  s    r   rB  %ResourceInstanceLastOperation.__str__  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  $ResourceInstanceLastOperation.__eq__  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  $ResourceInstanceLastOperation.__ne__  rS  r    c                   $    \ rS rSrSrSrSrSrSrg)'ResourceInstanceLastOperation.StateEnumi  z
The last operation state of the resoure instance. This indicates if the resource's
last operation is in progress, succeeded or failed.
zin progress	succeededr   ri   N)	r   r   r   r   r   IN_PROGRESS	SUCCEEDEDr   r   ri   r    r   rZ  ry    s    	
 $	r    rZ  )	r\  ra  r^  rb  r`  r_  r1   r.   r-   )r   r   r   r   r   rX  r  r   r   r   floatr  r#   r   r   r  r  r)  r/  r3  rl   r:  rB  rL  rQ  r   rZ  r   ri   r    r   rC  rC  $  sW   0 	
K0 #'%)&*3h3h 3h 	3h
 3h 3h 3h 3-3h c]3h UO3h 6"3h 
3hj &d &'F & &P $ $ 2 
kD 
k4 4/; / /!; ! !C r    rC  c                       \ rS rSrSrS\S\S\S   SS4S	 jr\	S
\
SS 4S j5       r\	S 5       rS\
4S jrS rS\4S jrSS S\4S jrSS S\4S jrSrg)ResourceInstancesListi  z
A list of resource instances.

:param int rows_count: The number of resource instances in `resources`.
:param str next_url: The URL for requesting the next page of results.
:param List[ResourceInstance] resources: A list of resource instances.
r  r  r  r2  r   Nc                 (    Xl         X l        X0l        g)a  
Initialize a ResourceInstancesList object.

:param int rows_count: The number of resource instances in `resources`.
:param str next_url: The URL for requesting the next page of results.
:param List[ResourceInstance] resources: A list of resource instances.
Nr  r  s       r   r#   ResourceInstancesList.__init__  r  r    r  c                 B   0 nUR                  S5      =nb  X2S'   O[        S5      eUR                  S5      =nb  XBS'   O[        S5      eUR                  S5      =nb*  U Vs/ s H  n[        R                  U5      PM     snUS'   O[        S5      eU " S0 UD6$ s  snf )AInitialize a ResourceInstancesList object from a json dictionary.r  zHRequired property 'rows_count' not present in ResourceInstancesList JSONr  zFRequired property 'next_url' not present in ResourceInstancesList JSONr  zGRequired property 'resources' not present in ResourceInstancesList JSONri   )rF   r\   r2  r  r  s          r   r  ResourceInstancesList.from_dict  s     ))L11J>!+ijj		*--H:'ghh;//I<HQ R	1!1!;!;A!>	 RDhii{T{ !Sr  c                 $    U R                  U5      $ )r  r  r  s     r   r   ResourceInstancesList._from_dict$  r   r    c                    0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       am  U R                  b`  / nU R                   HJ  n[	        U[
        5      (       a  UR                  U5        M+  UR                  UR                  5       5        ML     X!S'   U$ r  r  r  s       r   r)  ResourceInstancesList.to_dict)  r  r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  ResourceInstancesList._to_dict:  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z<Return a `str` version of this ResourceInstancesList object.r>  r?  rA  r.  s    r   rB  ResourceInstancesList.__str__>  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  ResourceInstancesList.__eq__B  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  ResourceInstancesList.__ne__H  rS  r    r  r  ri   r    r   r  r    s    ## # *+	#
 
#" d '>  " $ $ "4 4/3 / /!3 ! !r    r  c            /          \ rS rSrSrSSSSSSSSSSSSSSSSSSSSSSS.S\\   S\\   S\\   S\\   S	\\   S
\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\S   S\\   S\\   S\\   S\\   SS4.S jjr	\
S\SS 4S j5       r\
S  5       rS\4S! jrS" rS\4S# jrS$S S\4S% jrS$S S\4S& jrS'rg)(ResourceKeyiM  u]
  
A resource key.

:param str id: (optional) The ID associated with the key.
:param str guid: (optional) The GUID of the key.
:param str url: (optional) When you created a new key, a relative URL path is
      created identifying the location of the key.
:param datetime created_at: (optional) The date when the key was created.
:param datetime updated_at: (optional) The date when the key was last updated.
:param datetime deleted_at: (optional) The date when the key was deleted.
:param str created_by: (optional) The subject who created the key.
:param str updated_by: (optional) The subject who updated the key.
:param str deleted_by: (optional) The subject who deleted the key.
:param str source_crn: (optional) The CRN of resource instance or alias
      associated to the key.
:param str name: (optional) The human-readable name of the key.
:param str crn: (optional) The full Cloud Resource Name (CRN) associated with
      the key. For more information about this format, see [Cloud Resource
      Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str state: (optional) The state of the key.
:param str account_id: (optional) An alpha-numeric value identifying the account
      ID.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_id: (optional) The unique ID of the offering. This value is
      provided by and stored in the global catalog.
:param bool onetime_credentials: (optional) Whether newly created resource key
      credentials can be retrieved by using get resource key or get a list of all of
      the resource keys requests.
:param Credentials credentials: (optional) The credentials for the key.
      Additional key-value pairs are passed through from the resource brokers. After a
      credential is created for a service, it can be viewed at any time for users that
      need the API key value. However, all users must have the correct level of access
      to see the details of a credential that includes the API key value. For
      additional details, see [viewing a
      credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui)
      or the service’s documentation.
:param bool iam_compatible: (optional) Specifies whether the key’s credentials
      support IAM.
:param bool migrated: (optional) A boolean that dictates if the alias was
      migrated from a previous CF instance.
:param str resource_instance_url: (optional) The relative path to the resource.
:param str resource_alias_url: (optional) The relative path to the resource
      alias that this binding is associated with.
Nrc   r(   rA   rx  rz  r  ry  r{  r  r  r)   r  r1   r   r*   r+   r;  r  r  r  r  r  rc   r(   rA   rx  rz  r  ry  r{  r  r  r)   r  r1   r   r*   r+   r;  r  r  r  r  r  r  r   c                   Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        Xl
        Xl        Xl        Xl        Xl        UU l        UU l        UU l        UU l        UU l        UU l        UU l        g)u
  
Initialize a ResourceKey object.

:param str id: (optional) The ID associated with the key.
:param str guid: (optional) The GUID of the key.
:param str url: (optional) When you created a new key, a relative URL path
       is created identifying the location of the key.
:param datetime created_at: (optional) The date when the key was created.
:param datetime updated_at: (optional) The date when the key was last
       updated.
:param datetime deleted_at: (optional) The date when the key was deleted.
:param str created_by: (optional) The subject who created the key.
:param str updated_by: (optional) The subject who updated the key.
:param str deleted_by: (optional) The subject who deleted the key.
:param str source_crn: (optional) The CRN of resource instance or alias
       associated to the key.
:param str name: (optional) The human-readable name of the key.
:param str crn: (optional) The full Cloud Resource Name (CRN) associated
       with the key. For more information about this format, see [Cloud Resource
       Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
:param str state: (optional) The state of the key.
:param str account_id: (optional) An alpha-numeric value identifying the
       account ID.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_id: (optional) The unique ID of the offering. This
       value is provided by and stored in the global catalog.
:param bool onetime_credentials: (optional) Whether newly created resource
       key credentials can be retrieved by using get resource key or get a list of
       all of the resource keys requests.
:param Credentials credentials: (optional) The credentials for the key.
       Additional key-value pairs are passed through from the resource brokers.
       After a credential is created for a service, it can be viewed at any time
       for users that need the API key value. However, all users must have the
       correct level of access to see the details of a credential that includes
       the API key value. For additional details, see [viewing a
       credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui)
       or the service’s documentation.
:param bool iam_compatible: (optional) Specifies whether the key’s
       credentials support IAM.
:param bool migrated: (optional) A boolean that dictates if the alias was
       migrated from a previous CF instance.
:param str resource_instance_url: (optional) The relative path to the
       resource.
:param str resource_alias_url: (optional) The relative path to the resource
       alias that this binding is associated with.
Nr  )r%   rc   r(   rA   rx  rz  r  ry  r{  r  r  r)   r  r1   r   r*   r+   r;  r  r  r  r  r  s                          r   r#   ResourceKey.__init__{  s    P 	$$$$$$$	
$!2&#6 &, %:""4r    r  c                    0 nUR                  S5      =nb  X2S'   UR                  S5      =nb  XBS'   UR                  S5      =nb  XRS'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  [        U5      US'   UR                  S5      =nb  [        U5      US'   UR                  S5      =n	b  XS'   UR                  S5      =n
b  XS'   UR                  S	5      =nb  XS	'   UR                  S
5      =nb  XS
'   UR                  S5      =nb  XS'   UR                  S5      =nb  XS'   UR                  S5      =nb  XS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  [        R                  U5      US'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   UR                  S5      =nb  UUS'   U " S0 UD6$ )7Initialize a ResourceKey object from a json dictionary.rc   r(   rA   rx  rz  r  ry  r{  r  r  r)   r  r1   r   r*   r+   r;  r  r  r  r  r  ri   r  )r   r  r  rc   r(   rA   rx  rz  r  ry  r{  r  r  r)   r  r1   r   r*   r+   r;  r  r  r  r  r  s                            r   r  ResourceKey.from_dict  s    ))D/!B.JIIf%%D2L99U##C0K))L11J>!3J!?D))L11J>!3J!?D))L11J>!3J!?D))L11J>!+))L11J>!+))L11J>!+))L11J>!+IIf%%D2L99U##C0KYYw''E4!M))L11J>!+D!&+>!??L(9D$% 99]33K@"-D#(99-B#CCP*=D&' 99]33K@"-"7"7"DD#ii(899NF%3D!"		*--H:'D%*YY/F%GG!T,AD()"')),@"AAN);D%&{T{r    c                 $    U R                  U5      $ )r  r  r  s     r   r  ResourceKey._from_dict  r   r    c                 v   0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a%  U R                  b  [        U R                  5      US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S	5      (       a  U R                  b  U R                  US	'   [        U S
5      (       a  U R                  b  U R                  US
'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                   b  U R                   US'   [        U S5      (       a  U R"                  b  U R"                  US'   [        U S5      (       a  U R$                  b  U R$                  US'   [        U S5      (       aY  U R&                  bL  [)        U R&                  [*        5      (       a  U R&                  US'   OU R&                  R-                  5       US'   [        U S5      (       a  U R.                  b  U R.                  US'   [        U S5      (       a  U R0                  b  U R0                  US'   [        U S5      (       a  U R2                  b  U R2                  US'   [        U S5      (       a  U R4                  b  U R4                  US'   U$ )r"  rc   r(   rA   rx  rz  r  ry  r{  r  r  r)   r  r1   r   r*   r+   r;  r  r  r  r  r  )r#  rc   r(   rA   rx  r   rz  r  ry  r{  r  r  r)   r  r1   r   r*   r+   r;  r  r  rl   r)  r  r  r  r  re  s     r   r)  ResourceKey.to_dict  s   4477#6''E$K4  TYY%: IIE&M4DHH$888E%L4&&4??+F"4T__"EE,4&&4??+F"4T__"EE,4&&4??+F"4T__"EE,4&&4??+F"&//E,4&&4??+F"&//E,4&&4??+F"&//E,4&&4??+F"&//E,4  TYY%: IIE&M4DHH$888E%L4!!djj&<!ZZE'N4&&4??+F"&//E,4,--$2H2H2T)-)?)?E%&4''D,<,<,H#'#3#3E- 4.//D4L4L4X+/+C+CE'(4''D,<,<,H$**D11'+'7'7m$'+'7'7'?'?'Am$4)**t/B/B/N&*&9&9E"#4$$)B $E*4011d6P6P6\-1-G-GE)*4-..43J3J3V*.*A*AE&'r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  ResourceKey._to_dictE  r1  r    c                 H    [         R                  " U R                  5       SS9$ )z2Return a `str` version of this ResourceKey object.r>  r?  rA  r.  s    r   rB  ResourceKey.__str__I  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  ResourceKey.__eq__M  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  ResourceKey.__ne__S  rS  r    )r   rx  ry  r  r  r  r  r(   r  rc   r  r)   r;  r  r*   r+   r  r  r1   rz  r{  rA   r  ri   r    r   r  r  M  s'   +` !"!)-)-)-$($($($("!#$(+/%).2/3)-#'/3,01]5 SM]5 sm	]5
 c]]5 X&]5 X&]5 X&]5 SM]5 SM]5 SM]5 SM]5 sm]5 c]]5 }]5  SM!]5" $C=#]5$ c]%]5& &d^']5( m,)]5* !+]5, 4.-]5.  (}/]50 %SM1]52 
3]5~ /d /} / /b $ $2 2h4 4/M /d /!M !d !r    r  c                       \ rS rSrSr\" S/5      rSS.S\\   S\\	   SS4S jjr
\S	\SS 4S
 j5       r\S 5       rS\4S jrS rS\4S jrS	\4S jrS\4S jrSS S\4S jrSS S\4S jrSrg)r   iX  r  r  Nr   rI   r   c                   Xl         UR                  5        Hn  u  p4U[        R                  ;  a=  [	        U[
        5      (       d  [        SR                  U5      5      e[        XU5        MV  [        SR                  U5      5      e   g)a  
Initialize a ResourceKeyPostParameters object.

:param str serviceid_crn: (optional) An optional platform defined option to
       reuse an existing IAM serviceId for the role assignment.
:param object **kwargs: (optional) Additional properties of type object
r  r  N)	r  r]   r   r  r  r  r\   rn   r  r  s        r   r#   "ResourceKeyPostParameters.__init__g  sr     +LLNDA1===!!V,,$%^%e%efg%hii# !\!c!cde!fgg #r    r  c                     0 nUR                  S5      =nb  X2S'   UR                  5        HI  u  pEX@R                  ;  d  M  [        U[        5      (       d  [        SR                  U5      5      eXRU'   MK     U " S0 UD6$ )EInitialize a ResourceKeyPostParameters object from a json dictionary.r  r  ri   r  r  s         r   r  #ResourceKeyPostParameters.from_dict}  r  r    c                 $    U R                  U5      $ )r  r  r  s     r   r  $ResourceKeyPostParameters._from_dict  r   r    c                    0 n[        U S5      (       a  U R                  b  U R                  US'   [        U 5      R                  5        Vs/ s H  o"[        R
                  ;  d  M  UPM     sn H  n[        X5      X'   M     U$ s  snf r  )r#  r  r$  r%  r   r  r&  r'  s       r   r)  !ResourceKeyPostParameters.to_dict  sy    4))d.@.@.L%)%7%7E/"#Dz0d0>W>c>c4c"0dAt'EH e er  c                 "    U R                  5       $ r,  r-  r.  s    r   r/  "ResourceKeyPostParameters._to_dict  r1  r    c                     0 n[        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[	        X5      X'   M     U$ s  snf )zgReturn the additional properties from this instance of ResourceKeyPostParameters in the form of a dict.)r$  r%  r   r  r&  r'  s       r   r3  (ResourceKeyPostParameters.get_properties  sQ    #Dz0d0>W>c>c4c"0dAt'EH e er5  c                    [        U 5      R                  5        Vs/ s H  o"[        R                  ;  d  M  UPM     sn H  n[	        X5        M     UR                  5        Hr  u  p4U[        R                  ;  a=  [        U[        5      (       d  [        SR                  U5      5      e[        XU5        MV  [        SR                  [        5      5      e   gs  snf )zWSet a dictionary of additional properties in this instance of ResourceKeyPostParametersr  r  N)r$  r%  r   r  r7  r]   r  r  r\   rn   r  r8  r9  s        r   r:  (ResourceKeyPostParameters.set_properties  s    #Dz0d0>W>c>c4c"0dAD eKKMDA1===!!V,,$%^%e%efg%hii# !\!c!cdh!ijj " er<  c                 H    [         R                  " U R                  5       SS9$ )z@Return a `str` version of this ResourceKeyPostParameters object.r>  r?  rA  r.  s    r   rB  !ResourceKeyPostParameters.__str__  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL   ResourceKeyPostParameters.__eq__  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ   ResourceKeyPostParameters.__ne__  rS  r    r  ri   r    r   r   r   X  s    	 _-.K
 (,h  }h 6"	h
 
h, 
d 
'B 
 
 $ $  
kD 
k4 4/7 /D /!7 !D !r    r   c                       \ rS rSrSrS\S\S\S   SS4S	 jr\	S
\
SS 4S j5       r\	S 5       rS\
4S jrS rS\4S jrSS S\4S jrSS S\4S jrSrg)ResourceKeysListi  z
A list of resource keys.

:param int rows_count: The number of resource keys in `resources`.
:param str next_url: The URL for requesting the next page of results.
:param List[ResourceKey] resources: A list of resource keys.
r  r  r  r  r   Nc                 (    Xl         X l        X0l        g)z
Initialize a ResourceKeysList object.

:param int rows_count: The number of resource keys in `resources`.
:param str next_url: The URL for requesting the next page of results.
:param List[ResourceKey] resources: A list of resource keys.
Nr  r  s       r   r#   ResourceKeysList.__init__  r  r    r  c                 B   0 nUR                  S5      =nb  X2S'   O[        S5      eUR                  S5      =nb  XBS'   O[        S5      eUR                  S5      =nb*  U Vs/ s H  n[        R                  U5      PM     snUS'   O[        S5      eU " S0 UD6$ s  snf )<Initialize a ResourceKeysList object from a json dictionary.r  zCRequired property 'rows_count' not present in ResourceKeysList JSONr  zARequired property 'next_url' not present in ResourceKeysList JSONr  zBRequired property 'resources' not present in ResourceKeysList JSONri   )rF   r\   r  r  r  s          r   r  ResourceKeysList.from_dict  s     ))L11J>!+dee		*--H:'bcc;//I<CL M9a!6!6q!99 MDcdd{T{ !Nr  c                 $    U R                  U5      $ )r  r  r  s     r   r  ResourceKeysList._from_dict  r   r    c                    0 n[        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       a  U R                  b  U R                  US'   [        U S5      (       am  U R                  b`  / nU R                   HJ  n[	        U[
        5      (       a  UR                  U5        M+  UR                  UR                  5       5        ML     X!S'   U$ r  r  r  s       r   r)  ResourceKeysList.to_dict  r  r    c                 "    U R                  5       $ r,  r-  r.  s    r   r/  ResourceKeysList._to_dict   r1  r    c                 H    [         R                  " U R                  5       SS9$ )z7Return a `str` version of this ResourceKeysList object.r>  r?  rA  r.  s    r   rB  ResourceKeysList.__str__  rD  r    rE  c                 j    [        XR                  5      (       d  gU R                  UR                  :H  $ rG  rH  rK  s     r   rL  ResourceKeysList.__eq__  rN  r    c                     X:X  + $ rP  ri   rK  s     r   rQ  ResourceKeysList.__ne__  rS  r    r  r  ri   r    r   r  r    s    ## # &	#
 
#" d '9  " $ $ "4 4/. /4 /!. !4 !r    r  c                       \ rS rSrSrSSSSSSSSSSSS.S\S\S\S\S	\S
\S\S\S\S\S\S\SS4S jjrS\	4S jr
S\\   4S jrS\\   4S jrSrg)ResourceInstancesPageri  za
ResourceInstancesPager can be used to simplify the use of the "list_resource_instances" method.
N)r(   r)   r*   r+   r,   r-   r.   r/   r1   r2   r3   clientr(   r)   r*   r+   r,   r-   r.   r/   r1   r2   r3   r   c                    SU l         Xl        SS0U l        X l        X0l        X@l        XPl        X`l        Xpl        Xl	        Xl
        Xl        Xl        Xl        g)a&  
Initialize a ResourceInstancesPager object.
:param str guid: (optional) The GUID of the instance.
:param str name: (optional) The human-readable name of the instance.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_id: (optional) The unique ID of the offering. This
       value is provided by and stored in the global catalog.
:param str resource_plan_id: (optional) The unique ID of the plan
       associated with the offering. This value is provided by and stored in the
       global catalog.
:param str type: (optional) The type of the instance, for example,
       `service_instance`.
:param str sub_type: (optional) The sub-type of instance, for example,
       `kms`.
:param int limit: (optional) Limit on how many items should be returned.
:param str state: (optional) The state of the instance. If not specified,
       instances in state `active` and `provisioning` are returned.
:param str updated_from: (optional) Start date inclusive filter.
:param str updated_to: (optional) End date inclusive filter.
TnextN)	_has_next_client_page_context_guid_name_resource_group_id_resource_id_resource_plan_id_type	_sub_type_limit_state_updated_from_updated_to)r%   r  r(   r)   r*   r+   r,   r-   r.   r/   r1   r2   r3   s                r   r#   ResourceInstancesPager.__init__  sY    H $d^

"3'!1
!)%r    c                     U R                   $ zE
Returns true if there are potentially more results to be retrieved.
r  r.  s    r   has_nextResourceInstancesPager.has_nextP       ~~r    c                 F   U R                  5       (       d	  [        SS9eU R                  R                  U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  R!                  S5      S9R#                  5       nSnUR!                  S5      nUb  [%        US5      nX R                  S'   Uc  SU l        UR!                  S	5      $ )
z
Returns the next page of results.
:return: A List[dict], where each element is a dict that represents an instance of ResourceInstance.
:rtype: List[dict]
No more results availablemessager  )r(   r)   r*   r+   r,   r-   r.   r/   r1   r2   r3   r0   Nr  r0   Fr  )r  StopIterationr  r6   r  r  r  r  r  r  r  r  r  r  r  r  rF   
get_resultr
   r  r%   resultr  next_page_links       r   get_nextResourceInstancesPager.get_nextV  s     }}(CDD55"55))!33^^++++++''$$((0 6 
 *, 	 J/%">7;D%)6"<"DNzz+&&r    c                     / nU R                  5       (       a8  U R                  5       nUR                  U5        U R                  5       (       a  M8  U$ )z
Returns all results by invoking get_next() repeatedly
until all pages of results have been retrieved.
:return: A List[dict], where each element is a dict that represents an instance of ResourceInstance.
:rtype: List[dict]
r  r  extendr%   results	next_pages      r   get_allResourceInstancesPager.get_allx  ?     mmooINN9% mmoo r    )r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r   r   r   r   r#   r   r  r   rl   r  r  r   ri   r    r   r  r    s     !% $ 1& %1& 	1&
 1& 1& 1& 1& 1& 1& 1& 1& 1& 1& 
1&f$  '$t*  'Dd r    r  c            	       p    \ rS rSrSrSS.S\S\S\SS4S	 jjrS\	4S
 jr
S\\   4S jrS\\   4S jrSrg)ResourceAliasesForInstancePageri  zu
ResourceAliasesForInstancePager can be used to simplify the use of the "list_resource_aliases_for_instance" method.
Nr/   r  rc   r/   r   c                H    SU l         Xl        SS0U l        X l        X0l        g)z
Initialize a ResourceAliasesForInstancePager object.
:param str id: The resource instance URL-encoded CRN or GUID.
:param int limit: (optional) Limit on how many items should be returned.
Tr  Nr  r  r  _idr  r%   r  rc   r/   s       r   r#   (ResourceAliasesForInstancePager.__init__  &     $d^r    c                     U R                   $ r  r  r.  s    r   r  (ResourceAliasesForInstancePager.has_next  r  r    c                    U R                  5       (       d	  [        SS9eU R                  R                  U R                  U R
                  U R                  R                  S5      S9R                  5       nSnUR                  S5      nUb  [        US5      nX R                  S'   Uc  SU l
        UR                  S	5      $ )

Returns the next page of results.
:return: A List[dict], where each element is a dict that represents an instance of ResourceAlias.
:rtype: List[dict]
r  r  r  rc   r/   r0   Nr  r0   Fr  )r  r  r  r   r  r  r  rF   r  r
   r  r  s       r   r  (ResourceAliasesForInstancePager.get_next  s     }}(CDD@@xx++$$((0 A 
 *,	 	 J/%">7;D%)6"<"DNzz+&&r    c                     / nU R                  5       (       a8  U R                  5       nUR                  U5        U R                  5       (       a  M8  U$ z
Returns all results by invoking get_next() repeatedly
until all pages of results have been retrieved.
:return: A List[dict], where each element is a dict that represents an instance of ResourceAlias.
:rtype: List[dict]
r  r  s      r   r  'ResourceAliasesForInstancePager.get_all  r  r    r  r  r  r  r  r  ri   r    r   r  r    e      % 	
  
$$ '$t* '2d r    r  c            	       p    \ rS rSrSrSS.S\S\S\SS4S	 jjrS\	4S
 jr
S\\   4S jrS\\   4S jrSrg)ResourceKeysForInstancePageri  zo
ResourceKeysForInstancePager can be used to simplify the use of the "list_resource_keys_for_instance" method.
Nr  r  rc   r/   r   c                H    SU l         Xl        SS0U l        X l        X0l        g)z
Initialize a ResourceKeysForInstancePager object.
:param str id: The resource instance URL-encoded CRN or GUID.
:param int limit: (optional) Limit on how many items should be returned.
Tr  Nr  r  s       r   r#   %ResourceKeysForInstancePager.__init__  r  r    c                     U R                   $ r  r  r.  s    r   r  %ResourceKeysForInstancePager.has_next  r  r    c                    U R                  5       (       d	  [        SS9eU R                  R                  U R                  U R
                  U R                  R                  S5      S9R                  5       nSnUR                  S5      nUb  [        US5      nX R                  S'   Uc  SU l
        UR                  S	5      $ )

Returns the next page of results.
:return: A List[dict], where each element is a dict that represents an instance of ResourceKey.
:rtype: List[dict]
r  r  r  r
  Nr  r0   Fr  )r  r  r  r   r  r  r  rF   r  r
   r  r  s       r   r  %ResourceKeysForInstancePager.get_next  s     }}(CDD==xx++$$((0 > 
 *,	 	 J/%">7;D%)6"<"DNzz+&&r    c                     / nU R                  5       (       a8  U R                  5       nUR                  U5        U R                  5       (       a  M8  U$ z
Returns all results by invoking get_next() repeatedly
until all pages of results have been retrieved.
:return: A List[dict], where each element is a dict that represents an instance of ResourceKey.
:rtype: List[dict]
r  r  s      r   r  $ResourceKeysForInstancePager.get_all   r  r    r  r  ri   r    r   r  r    r  r    r  c                       \ rS rSrSrSSSSSSSS.S\S\S\S\S	\S
\S\S\SS4S jjrS\	4S jr
S\\   4S jrS\\   4S jrSrg)ResourceKeysPageri  zW
ResourceKeysPager can be used to simplify the use of the "list_resource_keys" method.
N)r(   r)   r*   r+   r/   r2   r3   r  r(   r)   r*   r+   r/   r2   r3   r   c                    SU l         Xl        SS0U l        X l        X0l        X@l        XPl        X`l        Xpl        Xl	        g)a,  
Initialize a ResourceKeysPager object.
:param str guid: (optional) The GUID of the key.
:param str name: (optional) The human-readable name of the key.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_id: (optional) The unique ID of the offering. This
       value is provided by and stored in the global catalog.
:param int limit: (optional) Limit on how many items should be returned.
:param str updated_from: (optional) Start date inclusive filter.
:param str updated_to: (optional) End date inclusive filter.
Tr  N)
r  r  r  r  r  r  r  r  r  r  )	r%   r  r(   r)   r*   r+   r/   r2   r3   s	            r   r#   ResourceKeysPager.__init__  sC    . $d^

"3')%r    c                     U R                   $ r  r  r.  s    r   r  ResourceKeysPager.has_next5  r  r    c                    U R                  5       (       d	  [        SS9eU R                  R                  U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  R                  S5      S9R                  5       nSnUR                  S5      nUb  [        US5      nX R                  S'   Uc  SU l        UR                  S	5      $ )
r  r  r  r  )r(   r)   r*   r+   r/   r2   r3   r0   Nr  r0   Fr  )r  r  r  r   r  r  r  r  r  r  r  r  rF   r  r
   r  r  s       r   r  ResourceKeysPager.get_next;  s     }}(CDD00"55))++++''$$((0 1 	
 *, 	 J/%">7;D%)6"<"DNzz+&&r    c                     / nU R                  5       (       a8  U R                  5       nUR                  U5        U R                  5       (       a  M8  U$ r  r  r  s      r   r  ResourceKeysPager.get_allY  r  r    )
r  r  r  r  r  r  r  r  r  r  r  ri   r    r   r  r    s     !%  & % & 	 &
  &  &  &  &  &  & 
 &D$ '$t* '<d r    r  c                       \ rS rSrSrSSSSSSSSS.S\S\S\S\S	\S
\S\S\S\SS4S jjrS\	4S jr
S\\   4S jrS\\   4S jrSrg)ResourceBindingsPagerig  z_
ResourceBindingsPager can be used to simplify the use of the "list_resource_bindings" method.
N)r(   r)   r*   r+   r   r/   r2   r3   r  r(   r)   r*   r+   r   r/   r2   r3   r   c       	             SU l         Xl        SS0U l        X l        X0l        X@l        XPl        X`l        Xpl        Xl	        Xl
        g)a  
Initialize a ResourceBindingsPager object.
:param str guid: (optional) The GUID of the binding.
:param str name: (optional) The human-readable name of the binding.
:param str resource_group_id: (optional) The ID of the resource group.
:param str resource_id: (optional) The unique ID of the offering (service
       name). This value is provided by and stored in the global catalog.
:param str region_binding_id: (optional) The ID of the binding in the
       target environment. For example, `service_binding_id` in a given IBM Cloud
       environment.
:param int limit: (optional) Limit on how many items should be returned.
:param str updated_from: (optional) Start date inclusive filter.
:param str updated_to: (optional) End date inclusive filter.
Tr  N)r  r  r  r  r  r  r  _region_binding_idr  r  r  )
r%   r  r(   r)   r*   r+   r   r/   r2   r3   s
             r   r#   ResourceBindingsPager.__init__l  sI    6 $d^

"3'"3)%r    c                     U R                   $ r  r  r.  s    r   r  ResourceBindingsPager.has_next  r  r    c                    U R                  5       (       d	  [        SS9eU R                  R                  U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  R                  S5      S9	R                  5       nSnUR                  S5      nUb  [        US5      nX R                  S'   Uc  SU l        UR                  S	5      $ )

Returns the next page of results.
:return: A List[dict], where each element is a dict that represents an instance of ResourceBinding.
:rtype: List[dict]
r  r  r  )	r(   r)   r*   r+   r   r/   r2   r3   r0   Nr  r0   Fr  )r  r  r  r   r  r  r  r  r*  r  r  r  r  rF   r  r
   r  r  s       r   r  ResourceBindingsPager.get_next  s     }}(CDD44"55))"55++++''$$((0 5 

 *, 	 J/%">7;D%)6"<"DNzz+&&r    c                     / nU R                  5       (       a8  U R                  5       nUR                  U5        U R                  5       (       a  M8  U$ z
Returns all results by invoking get_next() repeatedly
until all pages of results have been retrieved.
:return: A List[dict], where each element is a dict that represents an instance of ResourceBinding.
:rtype: List[dict]
r  r  s      r   r  ResourceBindingsPager.get_all  r  r    )r  r  r  r  r  r  r*  r  r  r  r  r  ri   r    r   r(  r(  g  s     !%!% %& %%& 	%&
 %& %& %& %& %& %& %& 
%&N$ '$t* '>d r    r(  c                       \ rS rSrSrSSSSSSSSSS.	S\S\S\S\S	\S
\S\S\S\S\SS4S jjrS\	4S jr
S\\   4S jrS\\   4S jrSrg)ResourceAliasesPageri  z]
ResourceAliasesPager can be used to simplify the use of the "list_resource_aliases" method.
N)	r(   r)   r   r   r+   r*   r/   r2   r3   r  r(   r)   r   r   r+   r*   r/   r2   r3   r   c       
             SU l         Xl        SS0U l        X l        X0l        X@l        XPl        X`l        Xpl        Xl	        Xl
        Xl        g)aE  
Initialize a ResourceAliasesPager object.
:param str guid: (optional) The GUID of the alias.
:param str name: (optional) The human-readable name of the alias.
:param str resource_instance_id: (optional) The ID of the resource
       instance.
:param str region_instance_id: (optional) The ID of the instance in the
       target environment. For example, `service_instance_id` in a given IBM Cloud
       environment.
:param str resource_id: (optional) The unique ID of the offering (service
       name). This value is provided by and stored in the global catalog.
:param str resource_group_id: (optional) The ID of the resource group.
:param int limit: (optional) Limit on how many items should be returned.
:param str updated_from: (optional) Start date inclusive filter.
:param str updated_to: (optional) End date inclusive filter.
Tr  N)r  r  r  r  r  _resource_instance_id_region_instance_idr  r  r  r  r  )r%   r  r(   r)   r   r   r+   r*   r/   r2   r3   s              r   r#   ResourceAliasesPager.__init__  sO    < $d^

%9"#5 '"3)%r    c                     U R                   $ r  r  r.  s    r   r  ResourceAliasesPager.has_next  r  r    c                    U R                  5       (       d	  [        SS9eU R                  R                  U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  R                  S5      S9
R                  5       nSnUR                  S5      nUb  [!        US5      nX R                  S'   Uc  SU l        UR                  S	5      $ )
r	  r  r  r  )
r(   r)   r   r   r+   r*   r/   r2   r3   r0   Nr  r0   Fr  )r  r  r  r   r  r  r7  r8  r  r  r  r  r  r  rF   r  r
   r  r  s       r   r  ResourceAliasesPager.get_next  s     }}(CDD33!%!;!;#77))"55++++''$$((0 4 
 *, 	 J/%">7;D%)6"<"DNzz+&&r    c                     / nU R                  5       (       a8  U R                  5       nUR                  U5        U R                  5       (       a  M8  U$ r  r  r  s      r   r  ResourceAliasesPager.get_all  r  r    )r  r  r  r  r  r  r8  r  r  r7  r  r  r  ri   r    r   r5  r5    s     $("&!% )& %)& 	)&
 )& ")&  )& )& )& )& )& )& 
)&V$ '$t* '@d r    r5  c            	       p    \ rS rSrSrSS.S\S\S\SS4S	 jjrS\	4S
 jr
S\\   4S jrS\\   4S jrSrg)ResourceBindingsForAliasPageri*  zq
ResourceBindingsForAliasPager can be used to simplify the use of the "list_resource_bindings_for_alias" method.
Nr  r  rc   r/   r   c                H    SU l         Xl        SS0U l        X l        X0l        g)z
Initialize a ResourceBindingsForAliasPager object.
:param str id: The resource alias URL-encoded CRN or GUID.
:param int limit: (optional) Limit on how many items should be returned.
Tr  Nr  r  s       r   r#   &ResourceBindingsForAliasPager.__init__/  r  r    c                     U R                   $ r  r  r.  s    r   r  &ResourceBindingsForAliasPager.has_nextA  r  r    c                    U R                  5       (       d	  [        SS9eU R                  R                  U R                  U R
                  U R                  R                  S5      S9R                  5       nSnUR                  S5      nUb  [        US5      nX R                  S'   Uc  SU l
        UR                  S	5      $ )
r/  r  r  r  r
  Nr  r0   Fr  )r  r  r  r   r  r  r  rF   r  r
   r  r  s       r   r  &ResourceBindingsForAliasPager.get_nextG  s     }}(CDD>>xx++$$((0 ? 
 *,	 	 J/%">7;D%)6"<"DNzz+&&r    c                     / nU R                  5       (       a8  U R                  5       nUR                  U5        U R                  5       (       a  M8  U$ r2  r  r  s      r   r  %ResourceBindingsForAliasPager.get_all`  r  r    r  r  ri   r    r   rA  rA  *  r  r    rA  )0r   r   enumr   typingr   r   r   r^   r   ibm_cloud_sdk_corer   r	   r
   /ibm_cloud_sdk_core.authenticators.authenticatorr   $ibm_cloud_sdk_core.get_authenticatorr   ibm_cloud_sdk_core.utilsr   r   r   commonr   r   r   r  rZ  rp  r  r  r  r  r   r  r2  rC  r  r  r   r  r  r  r  r  r(  r5  rA  ri   r    r   <module>rQ     sg  &   ' '   M M I S Z Z #j; jZ7 2l0 l0^M! M!`y! y!x=! =!@D! D!NR! R!jU! U!pc! c!LR! R!jD. D.NQ QhR! R!jH! H!Vc! c!LR! R!tk k\A AHA AHV Vr\ \~a aHA Ar    