Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions msgraph/generated/devices/devices_request_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from .get_available_extension_properties.get_available_extension_properties_request_builder import GetAvailableExtensionPropertiesRequestBuilder
from .get_by_ids.get_by_ids_request_builder import GetByIdsRequestBuilder
from .item.device_item_request_builder import DeviceItemRequestBuilder
from .provision.provision_request_builder import ProvisionRequestBuilder
from .validate_properties.validate_properties_request_builder import ValidatePropertiesRequestBuilder

class DevicesRequestBuilder(BaseRequestBuilder):
Expand Down Expand Up @@ -168,6 +169,15 @@ def get_by_ids(self) -> GetByIdsRequestBuilder:

return GetByIdsRequestBuilder(self.request_adapter, self.path_parameters)

@property
def provision(self) -> ProvisionRequestBuilder:
"""
Provides operations to call the provision method.
"""
from .provision.provision_request_builder import ProvisionRequestBuilder

return ProvisionRequestBuilder(self.request_adapter, self.path_parameters)

@property
def validate_properties(self) -> ValidatePropertiesRequestBuilder:
"""
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass, field
from kiota_abstractions.serialization import AdditionalDataHolder, Parsable, ParseNode, SerializationWriter
from kiota_abstractions.store import BackedModel, BackingStore, BackingStoreFactorySingleton
from typing import Any, Optional, TYPE_CHECKING, Union

@dataclass
class ProvisionPostRequestBody(AdditionalDataHolder, BackedModel, Parsable):
# Stores model information.
backing_store: BackingStore = field(default_factory=BackingStoreFactorySingleton(backing_store_factory=None).backing_store_factory.create_backing_store, repr=False)

# Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additional_data: dict[str, Any] = field(default_factory=dict)
# The provisioningBlob property
provisioning_blob: Optional[str] = None

@staticmethod
def create_from_discriminator_value(parse_node: ParseNode) -> ProvisionPostRequestBody:
"""
Creates a new instance of the appropriate class based on discriminator value
param parse_node: The parse node to use to read the discriminator value and create the object
Returns: ProvisionPostRequestBody
"""
if parse_node is None:
raise TypeError("parse_node cannot be null.")
return ProvisionPostRequestBody()

def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
"""
The deserialization information for the current model
Returns: dict[str, Callable[[ParseNode], None]]
"""
fields: dict[str, Callable[[Any], None]] = {
"provisioningBlob": lambda n : setattr(self, 'provisioning_blob', n.get_str_value()),
}
return fields

def serialize(self,writer: SerializationWriter) -> None:
"""
Serializes information the current object
param writer: Serialization writer to use to serialize this model
Returns: None
"""
if writer is None:
raise TypeError("writer cannot be null.")
writer.write_str_value("provisioningBlob", self.provisioning_blob)
writer.write_additional_data_value(self.additional_data)


Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass, field
from kiota_abstractions.base_request_builder import BaseRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from kiota_abstractions.default_query_parameters import QueryParameters
from kiota_abstractions.get_path_parameters import get_path_parameters
from kiota_abstractions.method import Method
from kiota_abstractions.request_adapter import RequestAdapter
from kiota_abstractions.request_information import RequestInformation
from kiota_abstractions.request_option import RequestOption
from kiota_abstractions.serialization import Parsable, ParsableFactory
from typing import Any, Optional, TYPE_CHECKING, Union
from warnings import warn

if TYPE_CHECKING:
from ...models.o_data_errors.o_data_error import ODataError
from ...models.provision_response import ProvisionResponse
from .provision_post_request_body import ProvisionPostRequestBody

class ProvisionRequestBuilder(BaseRequestBuilder):
"""
Provides operations to call the provision method.
"""
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, dict[str, Any]]) -> None:
"""
Instantiates a new ProvisionRequestBuilder and sets the default values.
param path_parameters: The raw url or the url-template parameters for the request.
param request_adapter: The request adapter to use to execute the requests.
Returns: None
"""
super().__init__(request_adapter, "{+baseurl}/devices/provision", path_parameters)

async def post(self,body: ProvisionPostRequestBody, request_configuration: Optional[RequestConfiguration[QueryParameters]] = None) -> Optional[ProvisionResponse]:
"""
Provision a device on behalf of an approved Virtual Desktop Infrastructure (VDI) provider. This action wraps the Zero Touch Deployment (ZTD) protocol to create a device in a pending state in the customer's directory. The device can't be used for authentication until it completes its registration. The created device is stamped with a system label that identifies the approved VDI provider. Only VDI applications on Microsoft's approved list of VDI providers can successfully call this action. Calls from other applications are blocked even when the application is granted the required permission.
param body: The request body
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
Returns: Optional[ProvisionResponse]
Find more info here: https://learn.microsoft.com/graph/api/device-provision?view=graph-rest-1.0
"""
if body is None:
raise TypeError("body cannot be null.")
request_info = self.to_post_request_information(
body, request_configuration
)
from ...models.o_data_errors.o_data_error import ODataError

error_mapping: dict[str, type[ParsableFactory]] = {
"XXX": ODataError,
}
if not self.request_adapter:
raise Exception("Http core is null")
from ...models.provision_response import ProvisionResponse

return await self.request_adapter.send_async(request_info, ProvisionResponse, error_mapping)

def to_post_request_information(self,body: ProvisionPostRequestBody, request_configuration: Optional[RequestConfiguration[QueryParameters]] = None) -> RequestInformation:
"""
Provision a device on behalf of an approved Virtual Desktop Infrastructure (VDI) provider. This action wraps the Zero Touch Deployment (ZTD) protocol to create a device in a pending state in the customer's directory. The device can't be used for authentication until it completes its registration. The created device is stamped with a system label that identifies the approved VDI provider. Only VDI applications on Microsoft's approved list of VDI providers can successfully call this action. Calls from other applications are blocked even when the application is granted the required permission.
param body: The request body
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
Returns: RequestInformation
"""
if body is None:
raise TypeError("body cannot be null.")
request_info = RequestInformation(Method.POST, self.url_template, self.path_parameters)
request_info.configure(request_configuration)
request_info.headers.try_add("Accept", "application/json")
request_info.set_content_from_parsable(self.request_adapter, "application/json", body)
return request_info

def with_url(self,raw_url: str) -> ProvisionRequestBuilder:
"""
Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
param raw_url: The raw URL to use for the request builder.
Returns: ProvisionRequestBuilder
"""
if raw_url is None:
raise TypeError("raw_url cannot be null.")
return ProvisionRequestBuilder(self.request_adapter, raw_url)

@dataclass
class ProvisionRequestBuilderPostRequestConfiguration(RequestConfiguration[QueryParameters]):
"""
Configuration for the request such as headers, query parameters, and middleware options.
"""
warn("This class is deprecated. Please use the generic RequestConfiguration class generated by the generator.", DeprecationWarning)


Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass, field
from kiota_abstractions.base_request_builder import BaseRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from kiota_abstractions.default_query_parameters import QueryParameters
from kiota_abstractions.get_path_parameters import get_path_parameters
from kiota_abstractions.method import Method
from kiota_abstractions.request_adapter import RequestAdapter
from kiota_abstractions.request_information import RequestInformation
from kiota_abstractions.request_option import RequestOption
from kiota_abstractions.serialization import Parsable, ParsableFactory
from typing import Any, Optional, TYPE_CHECKING, Union
from warnings import warn

if TYPE_CHECKING:
from .....models.o_data_errors.o_data_error import ODataError
from .....models.related_tenants_refresh_status import RelatedTenantsRefreshStatus

class RefreshStatusRequestBuilder(BaseRequestBuilder):
"""
Provides operations to call the refreshStatus method.
"""
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, dict[str, Any]]) -> None:
"""
Instantiates a new RefreshStatusRequestBuilder and sets the default values.
param path_parameters: The raw url or the url-template parameters for the request.
param request_adapter: The request adapter to use to execute the requests.
Returns: None
"""
super().__init__(request_adapter, "{+baseurl}/directory/tenantGovernance/relatedTenants/refreshStatus()", path_parameters)

async def get(self,request_configuration: Optional[RequestConfiguration[QueryParameters]] = None) -> Optional[RelatedTenantsRefreshStatus]:
"""
Invoke function refreshStatus
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
Returns: Optional[RelatedTenantsRefreshStatus]
"""
request_info = self.to_get_request_information(
request_configuration
)
from .....models.o_data_errors.o_data_error import ODataError

error_mapping: dict[str, type[ParsableFactory]] = {
"XXX": ODataError,
}
if not self.request_adapter:
raise Exception("Http core is null")
from .....models.related_tenants_refresh_status import RelatedTenantsRefreshStatus

return await self.request_adapter.send_async(request_info, RelatedTenantsRefreshStatus, error_mapping)

def to_get_request_information(self,request_configuration: Optional[RequestConfiguration[QueryParameters]] = None) -> RequestInformation:
"""
Invoke function refreshStatus
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
Returns: RequestInformation
"""
request_info = RequestInformation(Method.GET, self.url_template, self.path_parameters)
request_info.configure(request_configuration)
request_info.headers.try_add("Accept", "application/json")
return request_info

def with_url(self,raw_url: str) -> RefreshStatusRequestBuilder:
"""
Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
param raw_url: The raw URL to use for the request builder.
Returns: RefreshStatusRequestBuilder
"""
if raw_url is None:
raise TypeError("raw_url cannot be null.")
return RefreshStatusRequestBuilder(self.request_adapter, raw_url)

@dataclass
class RefreshStatusRequestBuilderGetRequestConfiguration(RequestConfiguration[QueryParameters]):
"""
Configuration for the request such as headers, query parameters, and middleware options.
"""
warn("This class is deprecated. Please use the generic RequestConfiguration class generated by the generator.", DeprecationWarning)


Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
from .count.count_request_builder import CountRequestBuilder
from .item.related_tenant_item_request_builder import RelatedTenantItemRequestBuilder
from .refresh.refresh_request_builder import RefreshRequestBuilder
from .refresh_status.refresh_status_request_builder import RefreshStatusRequestBuilder

class RelatedTenantsRequestBuilder(BaseRequestBuilder):
"""
Expand Down Expand Up @@ -146,6 +147,15 @@ def refresh(self) -> RefreshRequestBuilder:

return RefreshRequestBuilder(self.request_adapter, self.path_parameters)

@property
def refresh_status(self) -> RefreshStatusRequestBuilder:
"""
Provides operations to call the refreshStatus method.
"""
from .refresh_status.refresh_status_request_builder import RefreshStatusRequestBuilder

return RefreshStatusRequestBuilder(self.request_adapter, self.path_parameters)

@dataclass
class RelatedTenantsRequestBuilderGetQueryParameters():
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from .......models.o_data_errors.o_data_error import ODataError
from .......models.permission import Permission
from .grant.grant_request_builder import GrantRequestBuilder
from .revoke_grants.revoke_grants_request_builder import RevokeGrantsRequestBuilder

class PermissionItemRequestBuilder(BaseRequestBuilder):
"""
Expand Down Expand Up @@ -148,6 +149,15 @@ def grant(self) -> GrantRequestBuilder:

return GrantRequestBuilder(self.request_adapter, self.path_parameters)

@property
def revoke_grants(self) -> RevokeGrantsRequestBuilder:
"""
Provides operations to call the revokeGrants method.
"""
from .revoke_grants.revoke_grants_request_builder import RevokeGrantsRequestBuilder

return RevokeGrantsRequestBuilder(self.request_adapter, self.path_parameters)

@dataclass
class PermissionItemRequestBuilderDeleteRequestConfiguration(RequestConfiguration[QueryParameters]):
"""
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass, field
from kiota_abstractions.serialization import AdditionalDataHolder, Parsable, ParseNode, SerializationWriter
from kiota_abstractions.store import BackedModel, BackingStore, BackingStoreFactorySingleton
from typing import Any, Optional, TYPE_CHECKING, Union

if TYPE_CHECKING:
from ........models.drive_recipient import DriveRecipient

@dataclass
class RevokeGrantsPostRequestBody(AdditionalDataHolder, BackedModel, Parsable):
# Stores model information.
backing_store: BackingStore = field(default_factory=BackingStoreFactorySingleton(backing_store_factory=None).backing_store_factory.create_backing_store, repr=False)

# Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additional_data: dict[str, Any] = field(default_factory=dict)
# The grantees property
grantees: Optional[list[DriveRecipient]] = None

@staticmethod
def create_from_discriminator_value(parse_node: ParseNode) -> RevokeGrantsPostRequestBody:
"""
Creates a new instance of the appropriate class based on discriminator value
param parse_node: The parse node to use to read the discriminator value and create the object
Returns: RevokeGrantsPostRequestBody
"""
if parse_node is None:
raise TypeError("parse_node cannot be null.")
return RevokeGrantsPostRequestBody()

def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
"""
The deserialization information for the current model
Returns: dict[str, Callable[[ParseNode], None]]
"""
from ........models.drive_recipient import DriveRecipient

from ........models.drive_recipient import DriveRecipient

fields: dict[str, Callable[[Any], None]] = {
"grantees": lambda n : setattr(self, 'grantees', n.get_collection_of_object_values(DriveRecipient)),
}
return fields

def serialize(self,writer: SerializationWriter) -> None:
"""
Serializes information the current object
param writer: Serialization writer to use to serialize this model
Returns: None
"""
if writer is None:
raise TypeError("writer cannot be null.")
writer.write_collection_of_object_values("grantees", self.grantees)
writer.write_additional_data_value(self.additional_data)


Loading
Loading