# Calendar API . acl

## Instance Methods

Deletes an access control rule.

Returns an access control rule.

Creates an access control rule.

Returns the rules in the access control list for the calendar.

Updates an access control rule. This method supports patch semantics.

Updates an access control rule.

### Method Details

`delete(calendarId, ruleId)`

    Deletes an access control rule.

    Args:
      calendarId: string, Calendar identifier. (required)
      ruleId: string, ACL rule identifier. (required)

`get(calendarId, ruleId)`

    Returns an access control rule.

    Args:
      calendarId: string, Calendar identifier. (required)
      ruleId: string, ACL rule identifier. (required)

    Returns:
      An object of the form:

        {
          "scope": { # The scope of the rule.
            "type": "A String", # The type of the scope. Possible values are:
                # - "default" - The public scope. This is the default value.
                # - "user" - Limits the scope to a single user.
                # - "group" - Limits the scope to a group.
                # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
            "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
          },
          "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
          "etag": "A String", # ETag of the resource.
          "role": "A String", # The role assigned to the scope. Possible values are:
              # - "none" - Provides no access.
              # - "freeBusyReader" - Provides read access to free/busy information.
              # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
              # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
              # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
          "id": "A String", # Identifier of the ACL rule.
        }

`insert(calendarId, body)`

    Creates an access control rule.

    Args:
      calendarId: string, Calendar identifier. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "scope": { # The scope of the rule.
          "type": "A String", # The type of the scope. Possible values are:
              # - "default" - The public scope. This is the default value.
              # - "user" - Limits the scope to a single user.
              # - "group" - Limits the scope to a group.
              # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
          "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
        },
        "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
        "etag": "A String", # ETag of the resource.
        "role": "A String", # The role assigned to the scope. Possible values are:
            # - "none" - Provides no access.
            # - "freeBusyReader" - Provides read access to free/busy information.
            # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
            # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
            # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
        "id": "A String", # Identifier of the ACL rule.
      }

    Returns:
      An object of the form:

        {
          "scope": { # The scope of the rule.
            "type": "A String", # The type of the scope. Possible values are:
                # - "default" - The public scope. This is the default value.
                # - "user" - Limits the scope to a single user.
                # - "group" - Limits the scope to a group.
                # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
            "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
          },
          "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
          "etag": "A String", # ETag of the resource.
          "role": "A String", # The role assigned to the scope. Possible values are:
              # - "none" - Provides no access.
              # - "freeBusyReader" - Provides read access to free/busy information.
              # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
              # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
              # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
          "id": "A String", # Identifier of the ACL rule.
        }

`list(calendarId)`

    Returns the rules in the access control list for the calendar.

    Args:
      calendarId: string, Calendar identifier. (required)

    Returns:
      An object of the form:

        {
        "nextPageToken": "A String", # Token used to access the next page of this result. Omitted if no further results are available.
        "items": [ # List of rules on the access control list.
          {
              "scope": { # The scope of the rule.
                "type": "A String", # The type of the scope. Possible values are:
                    # - "default" - The public scope. This is the default value.
                    # - "user" - Limits the scope to a single user.
                    # - "group" - Limits the scope to a group.
                    # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
                "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
              },
              "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
              "etag": "A String", # ETag of the resource.
              "role": "A String", # The role assigned to the scope. Possible values are:
                  # - "none" - Provides no access.
                  # - "freeBusyReader" - Provides read access to free/busy information.
                  # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
                  # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
                  # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
              "id": "A String", # Identifier of the ACL rule.
            },
        ],
        "kind": "calendar#acl", # Type of the collection ("calendar#acl").
        "etag": "A String", # ETag of the collection.
      }

`patch(calendarId, ruleId, body)`

    Updates an access control rule. This method supports patch semantics.

    Args:
      calendarId: string, Calendar identifier. (required)
      ruleId: string, ACL rule identifier. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "scope": { # The scope of the rule.
          "type": "A String", # The type of the scope. Possible values are:
              # - "default" - The public scope. This is the default value.
              # - "user" - Limits the scope to a single user.
              # - "group" - Limits the scope to a group.
              # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
          "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
        },
        "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
        "etag": "A String", # ETag of the resource.
        "role": "A String", # The role assigned to the scope. Possible values are:
            # - "none" - Provides no access.
            # - "freeBusyReader" - Provides read access to free/busy information.
            # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
            # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
            # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
        "id": "A String", # Identifier of the ACL rule.
      }

    Returns:
      An object of the form:

        {
          "scope": { # The scope of the rule.
            "type": "A String", # The type of the scope. Possible values are:
                # - "default" - The public scope. This is the default value.
                # - "user" - Limits the scope to a single user.
                # - "group" - Limits the scope to a group.
                # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
            "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
          },
          "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
          "etag": "A String", # ETag of the resource.
          "role": "A String", # The role assigned to the scope. Possible values are:
              # - "none" - Provides no access.
              # - "freeBusyReader" - Provides read access to free/busy information.
              # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
              # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
              # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
          "id": "A String", # Identifier of the ACL rule.
        }

`update(calendarId, ruleId, body)`

    Updates an access control rule.

    Args:
      calendarId: string, Calendar identifier. (required)
      ruleId: string, ACL rule identifier. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "scope": { # The scope of the rule.
          "type": "A String", # The type of the scope. Possible values are:
              # - "default" - The public scope. This is the default value.
              # - "user" - Limits the scope to a single user.
              # - "group" - Limits the scope to a group.
              # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
          "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
        },
        "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
        "etag": "A String", # ETag of the resource.
        "role": "A String", # The role assigned to the scope. Possible values are:
            # - "none" - Provides no access.
            # - "freeBusyReader" - Provides read access to free/busy information.
            # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
            # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
            # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
        "id": "A String", # Identifier of the ACL rule.
      }

    Returns:
      An object of the form:

        {
          "scope": { # The scope of the rule.
            "type": "A String", # The type of the scope. Possible values are:
                # - "default" - The public scope. This is the default value.
                # - "user" - Limits the scope to a single user.
                # - "group" - Limits the scope to a group.
                # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
            "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
          },
          "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
          "etag": "A String", # ETag of the resource.
          "role": "A String", # The role assigned to the scope. Possible values are:
              # - "none" - Provides no access.
              # - "freeBusyReader" - Provides read access to free/busy information.
              # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
              # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
              # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
          "id": "A String", # Identifier of the ACL rule.
        }