Class: Infrawrench::OwnershipNamespace

Inherits:
Object
  • Object
show all
Defined in:
lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs

Overview

client.ownership

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ OwnershipNamespace

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of OwnershipNamespace.

Parameters:



10916
10917
10918
# File 'lib/infrawrench/client.rb', line 10916

def initialize(transport)
  @transport = transport
end

Instance Method Details

#delete(resource_id:, org_id: nil, request_options: nil) ⇒ nil

Clear a resource's ownership

Removes the ownership record. The resource itself is untouched.

Requires permission: resources:write.

DELETE /api/org/orgId/ownership

Raises on 400: Bad request

Raises on 404: Not found

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • resource_id (String)
  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • resource_id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (nil)

    This endpoint returns no content.

Raises:



10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
# File 'lib/infrawrench/client.rb', line 10938

def delete(resource_id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "DELETE",
    path: "/api/org/{orgId}/ownership",
    path_params: { "orgId" => org_id },
    query: { "resourceId" => resource_id },
    accept: :empty,
    request_options: request_options
  )
end

#get(org_id: nil, request_options: nil) ⇒ Hash

List resource ownership records

Every ownership record in the organization — owner, purpose and authorizing ticket, per resource. Only resources somebody has recorded something about appear; an absent record means the resource is unowned.

Requires permission: resources:read.

GET /api/org/orgId/ownership

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as ResourceOwnershipListResponse — see sig/infrawrench/sdk.rbs.

Raises:



10965
10966
10967
10968
10969
10970
10971
10972
# File 'lib/infrawrench/client.rb', line 10965

def get(org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/ownership",
    path_params: { "orgId" => org_id },
    request_options: request_options
  )
end

#members(org_id: nil, request_options: nil) ⇒ Hash

List people an owner can be set to

Org members, as a minimal id/name/email projection for the owner picker. Requires only resources:read, deliberately not team:read: recording who owns a resource must not be reserved for whoever can also read roles and membership.

Requires permission: resources:read.

GET /api/org/orgId/ownership/members

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as OwnerCandidateListResponse — see sig/infrawrench/sdk.rbs.

Raises:



10991
10992
10993
10994
10995
10996
10997
10998
# File 'lib/infrawrench/client.rb', line 10991

def members(org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/ownership/members",
    path_params: { "orgId" => org_id },
    request_options: request_options
  )
end

#resource(resource_id:, org_id: nil, request_options: nil) ⇒ Hash

Get one resource's ownership

The ownership record for a single resource, or null when none is recorded.

Requires permission: resources:read.

GET /api/org/orgId/ownership/resource

Raises on 400: Bad request

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • resource_id (String)
  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • resource_id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as ResourceOwnershipEnvelope — see sig/infrawrench/sdk.rbs.

Raises:



11017
11018
11019
11020
11021
11022
11023
11024
11025
# File 'lib/infrawrench/client.rb', line 11017

def resource(resource_id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/ownership/resource",
    path_params: { "orgId" => org_id },
    query: { "resourceId" => resource_id },
    request_options: request_options
  )
end

#update(org_id: nil, body: nil, request_options: nil) ⇒ Hash

Set a resource's ownership

Upsert keyed by resourceId — ownership is a property of the resource, so there is no separate create and update. Omitted fields keep their value and null clears one. Clearing every field removes the record entirely and the response is null, which is the new truth rather than an empty record. An ownerUserId must be a member of this organization: ownership that looks routable but reaches nobody is worse than none.

Requires permission: resources:write.

PUT /api/org/orgId/ownership

Raises on 400: Bad request

Raises on 404: Not found

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • body (Hash, nil) (defaults to: nil)

    Request body, shaped as ResourceOwnershipPatch.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • org_id: (String, nil) (defaults to: nil)
  • body: (resource_ownership_patch, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as ResourceOwnership & Hash | nil — see sig/infrawrench/sdk.rbs.

Raises:



11051
11052
11053
11054
11055
11056
11057
11058
11059
# File 'lib/infrawrench/client.rb', line 11051

def update(org_id: nil, body: nil, request_options: nil)
  @transport.request(
    http_method: "PUT",
    path: "/api/org/{orgId}/ownership",
    path_params: { "orgId" => org_id },
    body: body,
    request_options: request_options
  )
end