def update_sdb(self, sdb_id, owner=None, description=None, user_group_permissions=None,
                   iam_principal_permissions=None):
        """
        Update a safe deposit box.

        Keyword arguments:

            owner (string) -- AD group that owns the safe deposit box
            description (string) -- Description of the safe deposit box
            user_group_permissions (list) -- list of dictionaries containing the key name and maybe role_id
            iam_principal_permissions (list) -- list of dictionaries containing the key name iam_principal_arn
            and role_id
        """
        # Grab current data
        old_data = self.get_sdb_by_id(sdb_id)

        # Assemble information to update
        temp_data = {}
        keys = ('owner', 'description', 'iam_principal_permissions', 'user_group_permissions')
        for k in keys:
            if k in old_data:
                temp_data[k] = old_data[k]
        if owner is not None:
            temp_data["owner"] = owner
        if description is not None:
            temp_data["description"] = description
        if user_group_permissions is not None and len(user_group_permissions) > 0:
            temp_data["user_group_permissions"] = user_group_permissions
        if iam_principal_permissions is not None and len(iam_principal_permissions) > 0:
            temp_data["iam_principal_permissions"] = iam_principal_permissions

        data = json.encoder.JSONEncoder().encode(temp_data)
        sdb_resp = put_with_retry(self.cerberus_url + '/v2/safe-deposit-box/' + sdb_id, data=str(data),
                                headers=self.HEADERS)

        throw_if_bad_response(sdb_resp)
        return sdb_resp.json()
def update_sdb ( self , sdb_id , owner = None , description = None , user_group_permissions = None , iam_principal_permissions = None ) : old_data = self . get_sdb_by_id ( sdb_id ) temp_data = { } keys = ( 'owner' , 'description' , 'iam_principal_permissions' , 'user_group_permissions' ) for k in keys : if k in old_data : temp_data [ k ] = old_data [ k ] if owner is not None : temp_data [ "owner" ] = owner if description is not None : temp_data [ "description" ] = description if user_group_permissions is not None and len ( user_group_permissions ) > 0 : temp_data [ "user_group_permissions" ] = user_group_permissions if iam_principal_permissions is not None and len ( iam_principal_permissions ) > 0 : temp_data [ "iam_principal_permissions" ] = iam_principal_permissions data = json . encoder . JSONEncoder ( ) . encode ( temp_data ) sdb_resp = put_with_retry ( self . cerberus_url + '/v2/safe-deposit-box/' + sdb_id , data = str ( data ) , headers = self . HEADERS ) throw_if_bad_response ( sdb_resp ) return sdb_resp . json ( )
Update a safe deposit box.

        Keyword arguments:

            owner (string) -- AD group that owns the safe deposit box
            description (string) -- Description of the safe deposit box
            user_group_permissions (list) -- list of dictionaries containing the key name and maybe role_id
            iam_principal_permissions (list) -- list of dictionaries containing the key name iam_principal_arn
            and role_id