Service Networking API . services . roles

Instance Methods

add(parent=None, body=None, x__xgafv=None)

Service producers can use this method to add roles in the shared VPC host

Method Details

add(parent=None, body=None, x__xgafv=None)
Service producers can use this method to add roles in the shared VPC host
project. Each role is bound to the provided member. Each role must be
selected from within a whitelisted set of roles. Each role is applied at
only the granularity specified in the whitelist.

Args:
  parent: string, Required. This is in a form services/{service} where {service} is the name of the
private access management service. For example
'service-peering.example.com'. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request for AddRoles to allow Service Producers to add roles in the shared
      # VPC host project for them to use.
    "policyBinding": [ # Required. List of policy bindings to add to shared VPC host project.
      { # Grouping of IAM role and IAM member.
        "member": "A String", # Required. Member to bind the role with. See
            # /iam/docs/reference/rest/v1/Policy#Binding for how to format each member.
            # Eg.
            #   - user:myuser@mydomain.com
            #   - serviceAccount:my-service-account@app.gserviceaccount.com
        "role": "A String", # Required. Role to apply. Only whitelisted roles can be used at the specified
            # granularity. The role must be one of the following:
            #   - 'roles/container.hostServiceAgentUser' applied on the shared VPC host
            #     project
      },
    ],
    "consumerNetwork": "A String", # Required. The network that the consumer is using to connect with services. Must be in
        # the form of projects/{project}/global/networks/{network}
        # {project} is a project number, as in '12345'
        # {network} is a network name.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a
      # network API call.
    "metadata": { # Service-specific metadata associated with the operation.  It typically
        # contains progress information and common metadata such as create time.
        # Some services might not provide such metadata.  Any method that returns a
        # long-running operation should document the metadata type, if any.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
        # different programming environments, including REST APIs and RPC APIs. It is
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
        # three pieces of data: error code, error message, and error details.
        #
        # You can find out more about this error model and how to work with it in the
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
      "message": "A String", # A developer-facing error message, which should be in English. Any
          # user-facing error message should be localized and sent in the
          # google.rpc.Status.details field, or localized by the client.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details.  There is a common set of
          # message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
    },
    "done": True or False, # If the value is `false`, it means the operation is still in progress.
        # If `true`, the operation is completed, and either `error` or `response` is
        # available.
    "response": { # The normal response of the operation in case of success.  If the original
        # method returns no data on success, such as `Delete`, the response is
        # `google.protobuf.Empty`.  If the original method is standard
        # `Get`/`Create`/`Update`, the response should be the resource.  For other
        # methods, the response should have the type `XxxResponse`, where `Xxx`
        # is the original method name.  For example, if the original method name
        # is `TakeSnapshot()`, the inferred response type is
        # `TakeSnapshotResponse`.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
    "name": "A String", # The server-assigned name, which is only unique within the same service that
        # originally returns it. If you use the default HTTP mapping, the
        # `name` should be a resource name ending with `operations/{unique_id}`.
  }